Route SharePoint Email from non-prod farms to mail enabled group or SP list.


Why do we need to route emails coming from SharePoint DEV & TEST farms to mail enabled group or SP list. This includes both Nintex and SharePoint alert mails.

 Where this can be useful:

  • When carrying out testing for SharePoint alerts or Nintex workflows to confirm delivery of emails to users – this email routing will help validate this.
  • When we move site collections to non-prod farms from PROD accidental notifications to users will not occur.
  • Preventing emails reaching a larger audience sent mistakenly by a workflow or SharePoint alerts.
  • Gauging which users are active on non-prod site collections and notify them when we plan to implement changes to DEV and TEST SharePoint environment.

Issues this may cause:

  • Any power user/user trying to test something in non-prod will not receive emails, they will have to contact SharePoint Support for confirmation of emails or SharePoint support can forward that email to the user.
  • You need to provide “from address” to an SMTP server to the exchange admin and he can setup a rule to route these to a newly created mail enabled group also mention which group/list need to be part of these mail enabled group to receive emails.

From Address

mail enabled group

Members of the group

DEV FARM: SP2010Dev@contoso.com

SharePoint Dev Alerts

Sharepoint.Support@contoso.com
DEV Nintex: SP2010Dev@contoso.com  
TST Farm: SP2010Test@contoso.com

SharePoint Test Alerts

Sharepoint.Support@contoso.com
TST Nintex: SP2010Test@contoso.com  
Advertisement

SharePoint 2013 Upgrade Process – Part 2


Continuing on the SharePoint 2013 upgrade process from previous post, we will see some considerations and commands while planning upgrading content databases to SP 2013.

When you have upgraded to SharePoint 2013 from SharePoint 2010 the sites are still in 2010 format. The sites themselves have to be updated as well.

Farm Administrators can run the command “Request-SPUgradeEvaluationSiteCollections”  This creates an evaluation site collections and renders all the content in a different site collection.

The below command shows how many days the evaluation site will be stick around for evaluation.

retention1

We can push the reminder to upgrade the site collection :  $weba.UpgradeReminderDelay = 5

In case if you does not want to upgrade a site collection you can disable the option to upgrade for site collections users from SP management shell.

disableselfserviceupgrade

Lets see some throttle settings at Site Collection level, which shows the ConcurrentUpgradeSessionLimit which on requirement we can either decrease or increase. If we have a small content upgrade it better to spike the limit up otherwise it will not be much help.

concurrentsession

Throttle settings on content database upgrade

concurrentsession-CDB

 

Lets see some more action while we initiate a site collection upgrade from SP management shell.

scupgrade

 

Coming to some options while running either the site collection upgrade or content database upgrade, we have options to “-Throttled” or “-Unthrottled” what unthrottling means it just upgrade everything  immediately as a priority and will not put in throttling queue.

We can get the upgrade session info status by running this command “get-spsiteupgradesessioninfo -contentdatabase wss_content -showinprogress” we have other options like “-showcompleted” and “-showfailed”

we can remove a site from upgrade if its already queued to upgrade with “remove-spsiteupgradesessioninfo -identity http://intranet/sites/it”

Upgrade-SPContentDatabase WSS_Content -NoB2BSiteUpgrade -UseSnapshot

 This example upgrades the existing WSS_Content content database schema only while using a snapshot of the database to retain read-only access to the content during the upgrade. No build-to-build upgrade actions are performed on any site collections. This operation does not change the CompatibilityLevel for existing site collections in this database.

We have seen some of the PowerShell help necessary for upgrading. But we need to plan and test the whole process from a staging farm before and look at the upgrade performance and plan the schedule. Once again this is purely from and SharePoint Admin perspective, later in another post we will look at other dev aspects which are key for smooth upgrade.

http://technet.microsoft.com/en-us/library/cc262483(v=office.15).aspx                                                  http://technet.microsoft.com/en-us/library/ff607813(v=office.15).aspx

SharePoint Content database – maxsitecount and warningsitecount – PowerShell


Quick Help Script:

How to set the maxsitecount and warningsitecount  on a content database either after the upgrade or migration or even after moving the content database from different farm or web application.

Add-PSSnapin microsoft.sharepoint.powershell
$dbs = get-spcontentdatabase -webapplication https://webapplicationname
foreach($db in $dbs.name) {Set-SPContentDatabase -Identity $db -MaxSiteCount 1 -WarningSiteCount 0}

Continue reading

Shredded Storage in SharePoint 2013


What Is Shredded Storage:

Shredded Storage is going to help us with BLOBS (Binary Large Objects).

  1. It’s reduces the network IO by shredding the document into smaller pieces and reassembling when someone requests it.
  2. It reduces the amount of data saved in content databases.
  3. It decreases the amount of network traffic between the web servers and the SQL servers.
  4. Allows for faster backup of content databases.

shreddedstorage

 

Other Benefits:

  • A User can open a cached document, and start working with it before it is completely downloaded.
  • Documents are uploaded to the server in the background.

Shredded Storage is on by by default. It can be disabled or enabled per web application. BLOBs are not shredded on an upgrade. Shredded Storage  is independent of RBS.

 

Restore Project server databases and instances to another farm


As I said in my previous post, today we will see how can we move project instances to another farm which including all your project server databases.

Before we delete PWA databases from sql server we need to accomplish some tasks in the order:

  • Delete/remove all the pwa instances from project server provisioning center (PWA service app)
  • Connect to sql server analysis services and delete the respective pwa instance cube db’s.
  • Go to timer service job definition and remove any jobs related starts with  PWA*
  • Verify back with powershell commands below listed if you still have any orphaned PWA instances or timer jobs and remove them.
  1.   Open the SharePoint management shell and run these commands.$serviceapp = get-spserviceapplication | ? {$_.TypeName –like “*Project*”}
    This will get the project server service application
    $pwainstances = $serviceapp.Sitecollection

    $pwainstances | ft name, id
    This will list all PWA instances referenced in the config DB

  2.  

    Repeat these steps for each PWA site to delete them individually

    $toberemoved = $pwainstances | ? {$_.Id –eq “a1a29814-983e-4cad-a730-9a80d40737f7”}
    Enter the instance ID from query results in the previous step
    $toberemoved
    This will confirm the instance you want to remove
    $toberemoved.Delete()
    This will delete the instance

We can now go forward and backup the pwa db’s and restore them to this farm.  follow steps to restore db’s

Now comeback to Project Service Application and create a new PWA instance and provide the same PWA instance name which exists in your other farm (eg: http://spserver-webapp/PWA-name ) so PWA-name should be same as restoring farm pwa-name – *important*. Then provide the database names while creating the pwa instance as you restored from source farm. Once the pwa instance is created we need to create the PWA root site. Note: do not backup and restore the root site db from source farm, rather create a new db and assign max site count to 1. Basically we are storing each PWA instance root site separately for each PWA site.

Post Update tasks after the PWA instance and root site are created:

  • Open the PWA instance site and go to server settings -> manage users and add the service account or your admin account to the list or users and administrators group, as the current db does not contain the destination farm service account it will hold the source farm farm account.PWA-1
  • Then open up the “Basic Project Plan” under workflow and project detail pages –> Enterprise project Types. Open the Basic project plan and add the project detail pages as below.
  •  pwa-2
  • Either disable notifications E-mail settings or modify them to suit this farm. This setting under operational policies –> Alerts and Reminders
  • Go to OLAP database management which you can find under Database Administration. Edit the existing one listed and change the database server and instance details, give it a couple of seconds and click “build Now” and watch the status there it self as it refreshes.

We should be good, if every thing went well. Also follow the below links for further troubleshooting.

http://social.technet.microsoft.com/Forums/sqlserver/en-US/61979d9a-59f5-49bf-b047-724f4c859a22/migrating-project-server-2010-to-new-farm

http://pwmather.wordpress.com/category/migration/

http://technet.microsoft.com/en-us/library/gg128952.aspx#section4

 

Can you move a single large site collection into multiple content databases?


Although single content databases of upto 200GB is possible in Sharepoint 2010, administering and managing such a db would be a nightmare. What would you suggest for options in a case where there is one site collection and one corresponding content database. Can you have more than one content db for that one site collection? Can you expand the table to be hosted on other sql servers/machines? Does RBS help?
Expert Comments:
Officially there is support up to 4TBs with optimization, but realistically that is difficult to support and should only be used in extreme exceptions. Technically there were no real changes made to support the additional sizes, it was just an update to guidance. I still try and work with my customers to maintain databases no larger than 75-100GBs unless absolutely necessary. I do have customers with multi-terabyte farms.
A single site collection can only use 1 Content DB. It is possible though to create solutions that use a single site collection that interacts with multiple site collections for content storage. Its transparent to the users, but splits the content across multiple sites, multiple content dbs.
RBS can also help. The big advantage there is it reduces storage within the content db. I’m not as sold on RBS though in most scenarios. There are benefits, but there are also costs and added complexity. If you have an extremely large data source that MUST be in a single site collection and content cannot be archived, then this may be a good solution.
As for multiple SQL servers, you can leverage multiple SQL servers for a single farm, but my understanding is that a single database and all supporting data/log files must be part of the same instance. Using multiple data files on separate disk partitions though is part of the guidance to increase performance on those content dbs above 200GB.