Sep 17
Speaking at Hamilton SharePoint Users Group on SharePoint Architecture best practices on Sept 18th

​For those of you around the Hamiton, Ontario area on Thursday, Sept 18th, 2014, please join me at the Hamilton SharePoint Users Group (HSPUG) for a session on SharePoint Architecture.

global_63267242.png 

Session name: Inside the mind of a SharePoint Architect

Session details:

On any SharePoint project, the core of the solution being built should be designed and architected first before being developed. With the flexibility of SharePoint solutions (specifically SharePoint 2013), there is never one way to design it right. The experienced SharePoint Architect however is able to figure out an optimal way for the project, constraints and client at hand. This session is meant to give insight to the average SharePoint Professional on what it takes to become and be a SharePoint Architect. It will help guide the aspiring SharePoint Architect on the items that really need to be thought of when designing an enterprise grade SharePoint solution for your client and at the same time divulge some tricks of the trade learned from the countless enterprise SharePoint solutions I have successfully implemented over the years.

Sign up here: http://www.meetup.com/HamiltonSPUG/events/187594512/?a=cr1_upd&rv=cr1

 

Jul 14
SharePoint 2013 Architecture Considerations

Thanks to everyone who recently attended my Toronto SharePoint User Group and SharePoint Saturday Toronto 2014 session on: Inside the mind of a SharePoint Solutions Architect​ where I discussed some considerations for architecting and designing SharePoint projects.  As promised, here is my ​SlideShare:

​http://www.slideshare.net/NoorezKhamis/sharepoint-2013-solutions-architect​

​​​


Jul 04
Speaking at TSPBUG on SharePoint 2013 Document Management 101 - July 16th

Please join me at the Toronto SharePoint Business Users Group on Wednesday, July 16th at 6pm for a free session on SharePoint 2013 Document Management.

TSPBUG.jpg 

http://www.meetup.com/TSPBUG/events/192599782/

My session details are as follows:

Title:

Real life SharePoint 2013 Document Management tools and techniques

Abstract:

This session will be a 101 session on SharePoint 2013 document management functionality.  It will walkthrough some of the functionality that is available to most end users in SharePoint 2013 that they should know of to streamline their daily professional processes.  Through a series of live demo's, the session will walkthrough some of the most common scenarios you may see in your daily work lives and ways to address them in SharePoint 2013. 

Jul 03
Awarded as a Microsoft MVP for the 4th time

I've been lucky enough this year to be rewarded again as a Microsoft MVP.

 

http://mvp.microsoft.com/en-us/mvp/Noorez%20Khamis-4033609

I'm looking forward to another year of showcasing Microsoft technologies and supporting the technical communi​ty.

Jul 03
Speaking at SharePoint Saturday Toronto 2014 on July 12th

If you are in and around the Greater Toronto Area on July 12th, 2014, come see my session at SharePoint Saturday​ Toronto 2014 (SPSToronto).

It is free to attend and I am speaking alongside some great speakers.  Try to attend if you can.

My session details are below.

Title:

Inside the mind of a SharePoint Architect

Description:

On any SharePoint project, the core of the solution being built should be designed and architected first before being developed. With the flexibility of SharePoint solutions (specifically SharePoint 2013), there is never one way to design it right. The experienced SharePoint Architect however is able to figure out the best way for the project, constraints and client at hand. This session is meant to give insight to the average SharePoint Professional on what it takes to become and be a SharePoint Architect. It will help guide the aspiring SharePoint Architect on the items that really need to be thought of when architecting a SharePoint solution for your client and at the same time divulge some tricks of the trade learned from the countless enterprise SharePoint solutions I have successfully implemented over the years.

May 22
<nativehr>0x80070003</nativehr> error on Restore-SPSite when restoring a SharePoint 2013 to a Host Named Site Collection

​My scenerio was this, I mounted a SharePoint 2013 content database to my new SharePoint 2013 SP1 environment thinking that it would upgrade the database to be the latest version and render correctly in SharePoint 2013 SP1.

I placed it on a temporary web application because I wanted to test it out first and ensure everything worked fine and in fact, everything looked like it was fine.

I then wanted to back it up and restore it to my host named site collection on my main web application within a specific content database using the following PowerShell command:

restore-spsite 'http://<MYHNSCURL>' -HostHeaderWebApplication 'http://<MYWEBAPPURL>' -DatabaseServer 'MYDBSERVERALIAS' -DatabaseName 'MYCONTENTDBNAME' -path 'c:\<MYBACKUPSC.SC' -force

and I got an error like this in PowerShell:

restore-spsite : <nativehr>0x80070003</nativehr><nativestack></nativestack> At line:1 char:1 + restore-spsite 'http://tciconnect-dev.tci.internal.toyota.ca/sites/ICCS' -HostHe ... + ~~ + CategoryInfo          : InvalidData: (Microsoft.Share...dletRestoreSite:   SPCmdletRestoreSite) [Restore-SPSite], DirectoryNotFoundException    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletRestoreS   ite....

restoresiteerror1.png 

After a little bit of time playing around, I figured out that Mount-SPContentDatabase did not indeed upgrade the content database to the SP 2013 SP1 version, it left it as is which I guess wasn't compatible with my other web application I was trying to restore to.  So in order to fix this, I just had to manually run the Upgrade-SPContentDatabase command first and then back up and restore the site collection with the same command as above:

upgrade-spcontentdatabase 'MYCONTENTDBNAME'

May 22
SP24 Conference sessions are now available on demand

For those that missed the SP24 online confer​ence, the sessions (including mine) are available on demand.  There are some great speakers and sessions so try and check a few of them out.

Full list of sessions can be seen on this list.ly: http://list.ly/list/KZH-sp24-sharepoint-slash-office-365-sessions

 

 

May 22
Recoup and reclaim SharePoint 2013 SQL content database space from a deleted site collection

With the introduction of the site collection recycle bin (back in SharePoint 2010), it takes a little more work to reclaim the hard drive space of a large SharePoint 2013 content database from which you have have deleted a large site collection from.  You need to use a combination of PowerShell commands, starting a timer job and shrinking the SQL database to accomplish this. 

If you don't want to wait for the automatic recycle bin purging, the first step you need to do is permanently remove the site collection from the site collection recycle bin (ensure you have a backup if this is mission critical).  From the SharePoint Management Shell as Administrator, run the following which will give you the list of deleted site collections.:

Get-SPDeletedSite

At this point you will get a list of the deleted site collections:

scdelete1.png 

Once you have done this, copy the SiteId of the site collection you want to delete and then run the following command which will queue the site collection to be deleted by the Gradual Site Delete timer job for that web application:

Remove-SPDeletedSite '5a4a1095-c412-480a-9b42-84e30835771f'

scdelete2.png 

Since deleting site collections can delete an enormous number of rows of data in your SQL database, which in turn can cause SQL Server database row and table locks, it does them through a web application Gradual Site Delete timer job which deletes the SQL DB row items in batches of 1000 rows (read more on Bill Baer's post here).  If you don't want to wait for the daily timer job to run that starts this job, to invoke this job you can either go through the SharePoint Central Admin Timer Job GUI and start for your web application or just run this PowerShell command through SharePoint Management Shell as administrator:

Get-SPTimerJob "Gradual Site Delete" -WebApplication http://<YOURWEBAPP> | Start-SPTimerJob

scdelete3.png 

scdelete4.png 

Note: This job may take quite a while to run depending on the size of your content database.

The last step is to manually shrink your database and log files in SQL Server for that content database (although the DBA's might not be so happy about it).  You can do this via the GUI or SQL Commands (listed below).   Right click on database --> Tasks --> Shrink --> Files

scdelete5.png 

One more thing, you may need to go to your database file properties in SQL and decrease the initial size of the database if it was ever set:

scdelete6.png 

And voila, the site has been permanently deleted and you have got your storage space back!

 
The guidance from Microsoft for shrinking files in SharePoint 2010 (and I'm pretty sure still applies to SharePoint 2013) can be seen here: http://technet.microsoft.com/en-us/library/hh133453(v=office.14).aspx#DBMaintenanceForSPS2010_ShrinkingDataFiles.
 
Here are some excerpts from Microsoft's guidance on shrinking SharePoint content db files:

"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"

"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.

 

May 22
Output a list of SharePoint content databases, site collections within them and their size via PowerShell

These one liner PowerShell script might be useful to some IT Pro's who just want to list all of the SharePoint 2013 or 2010 content databases and the site collections within them and the site collection size within your SharePoint farm:

Get-SPContentDatabase | %{Write-Output "`r`n-------$($_.Name)-------";foreach($site in $_.Sites){$url=$site.url;$size=[System.Math]::Round([int]$site.Usage.Storage/1MB,2); Write-Output "$($url) ($($size)MB)"}}

If you want it output to a CSV file:

$all="Content Database,Site URL,Size`r`n";Get-SPContentDatabase | %{foreach($site in $_.Sites){$url=$site.url;$size=[System.Math]::Round([int]$site.Usage.Storage/1MB,2); $output="$($_.Name),$($url),($($size)MB)`r`n";$all+=$output}}; $all | out-file c:\sites.csv -force  -Encoding default

May 13
MVP Consumer Camp at Square One on Thursday, May 29th

​For anyone who is in the GTA/Mississauga area on Thursday, May 29th from 4pm to 9pm, there is a  great event that Microsoft is organizing at the Microsoft Store at Square One Shopping Centre in Mississauga – the first Canadian MVP Consumer Camp.  There will be many Microsoft MVPs answering tech questions, showing off demos and the unique features of Microsoft devices. There will be prize draws, Q&A sessions, snacks and refreshments. 

MVPs are recognized exceptional, independent community leaders who share their passion, technical expertise, and real-world knowledge of Microsoft products with others. We speak at events, answer questions online, and have awesome technical blogs!  I will be there with quite a few MVPs from across Canada!

Have your Surface, Windows, Office, Windows Phone and Xbox questions answered by our fellow MVP experts!

Hope to see you there!

Register here!

 mvpconscamp.png

1 - 10Next

 ‭(Hidden)‬ Blog Tools

Welcome to Rez's SharePoint Blog Spot

I'm a SharePoint Server MVP and Solution Architect who enjoys working with the most cutting-edge Microsoft technologies.​​

mvp.png 


Connect WITH ME

        Linked In
        RSS Feed
        Follow me on Twitter