Category Archives: SharePoint 2016

SharePoint Server 2016

Patching SharePoint Server 2013

Patching SharePoint Server 2013 step by step

Advertisements
Advertisements

Patching SharePoint Server 2013

Patching SharePoint server 2013 is one of the most difficult task that everyone want to know how to implement step by step. Watching this video, you will feel like its very easy to implement, but truly its equally risky. So careful while implementing the steps. Watch the below video for details.

      1. Download the KB from the URL as shown in the video.Patching SharePoint
      2. Extract files after download and you will find 3 files of extension ".exe , .cab, .cab".Patch 1321x705
      3. Copy this below code to notepad and save as ".ps 1" ###########################
        ##Ensure Patch is Present##
        ###########################
        $patchfile = Get-ChildItem | where{$_.Extension -eq ".exe"}
        if($patchfile -eq $null)
        {
        Write-Host "Unable to retrieve the file. Exiting Script" -ForegroundColor Red
        Return
        }########################
        ##Stop Search Services##
        ########################
        ##Checking Search services##
        $srchctr = 1
        $srch4srvctr = 1
        $srch5srvctr = 1$srv4 = get-service "OSearch15"
        $srv5 = get-service "SPSearchHostController"If(($srv4.status -eq "Running") -or ($srv5.status-eq "Running"))
        {
        Write-Host "Choose 1 to Pause Search Service Application" -ForegroundColor Cyan
        Write-Host "Choose 2 to leave Search Service Application running" -ForegroundColor Cyan
        $searchappresult = Read-Host "Press 1 or 2 and hit enter"
        Write-Hostif($searchappresult -eq 1)
        {
        $srchctr = 2
        Write-Host "Pausing the Search Service Application" -foregroundcolor yellow
        Write-Host "This could take a few minutes" -ForegroundColor Yellow
        $ssa = get-spenterprisesearchserviceapplication
        $ssa.pause()
        }elseif($searchappresult -eq 2)
        {
        Write-Host "Continuing without pausing the Search Service Application"
        }
        else
        {
        Write-Host "Run the script again and choose option 1 or 2" -ForegroundColor Red
        Write-Host "Exiting Script" -ForegroundColor Red
        Return
        }
        }

        Write-Host "Stopping Search Services if they are running" -foregroundcolor yellow
        if($srv4.status -eq "Running")
        {
        $srch4srvctr = 2
        set-service -Name "OSearch15" -startuptype Disabled
        $srv4.stop()
        }

        if($srv5.status -eq "Running")
        {
        $srch5srvctr = 2
        Set-service "SPSearchHostController" -startuptype Disabled
        $srv5.stop()
        }

        do
        {
        $srv6 = get-service "SPSearchHostController"
        if($srv6.status -eq "Stopped")
        {
        $yes = 1
        }
        Start-Sleep -seconds 10
        }
        until ($yes -eq 1)

        Write-Host "Search Services are stopped" -foregroundcolor Green
        Write-Host

        #######################
        ##Stop Other Services##
        #######################
        Set-Service -Name "IISADMIN" -startuptype Disabled
        Set-Service -Name "SPTimerV4" -startuptype Disabled
        Write-Host "Gracefully stopping IIS W3WP Processes" -foregroundcolor yellow
        Write-Host
        iisreset -stop -noforce
        Write-Host "Stopping Services" -foregroundcolor yellow
        Write-Host

        $srv2 = get-service "SPTimerV4"
        if($srv2.status -eq "Running")
        {$srv2.stop()}

        Write-Host "Services are Stopped" -ForegroundColor Green
        Write-Host
        Write-Host

        ##################
        ##Start patching##
        ##################
        Write-Host "Patching now keep this PowerShell window open" -ForegroundColor Magenta
        Write-Host
        $starttime = Get-Date

        $filename = $patchfile.basename

        Start-Process $filename

        Start-Sleep -seconds 20
        $proc = get-process $filename
        $proc.WaitForExit()

        $finishtime = get-date
        Write-Host
        Write-Host "Patch installation complete" -foregroundcolor green
        Write-Host

        ##################
        ##Start Services##
        ##################
        Write-Host "Starting Services Backup" -foregroundcolor yellow
        Set-Service -Name "SPTimerV4" -startuptype Automatic
        Set-Service -Name "IISADMIN" -startuptype Automatic

        ##Grabbing local server and starting services##
        $servername = hostname
        $server = get-spserver $servername

        $srv2 = get-service "SPTimerV4"
        $srv2.start()
        $srv3 = get-service "IISADMIN"
        $srv3.start()
        $srv4 = get-service "OSearch15"
        $srv5 = get-service "SPSearchHostController"

        ###Ensuring Search Services were stopped by script before Starting"
        if($srch4srvctr -eq 2)
        {
        set-service -Name "OSearch15" -startuptype Automatic
        $srv4.start()
        }
        if($srch5srvctr -eq 2)
        {
        Set-service "SPSearchHostController" -startuptype Automatic
        $srv5.start()
        }

        ###Resuming Search Service Application if paused###
        if($srchctr -eq 2)
        {
        Write-Host "Resuming the Search Service Application" -foregroundcolor yellow
        $ssa = get-spenterprisesearchserviceapplication
        $ssa.resume()
        }

        Write-Host "Services are Started" -foregroundcolor green
        Write-Host
        Write-Host
        Write-Host "Script Duration" -foregroundcolor yellow
        Write-Host "Started: " $starttime -foregroundcolor yellow
        Write-Host "Finished: " $finishtime -foregroundcolor yellow
        Write-Host "Script Complete"

      4. Save all files that is of extensions ".exe , .cab, .cab, .ps 1" in one folder.Patching SharePoint
      5. Open "SharePoint Management Shell".
      6. Navigate to the folder in which all files are stored and run the Powershell script.
      7. Next step is to run the config wizard. Please find the video in detail step by step further.

 

 

Advertisements
Advertisements
Advertisements
file transfer improvements-1920x1080

file transfer improvements in sharepoint 2016

file transfer improvements in sharepoint 2016

Below table describes about file transfer improvements in sharepoint 2016

SharePoint Version Mechanism Description
SharePoint 2010 Cobalt protocol Server fetch whole document from database and merge existing content with the user changes before saving the whole document back to content database.
SharePoint 2013 Shredded Storage Documents stored in small pieces in content database, so server does not have to fetch the whole document to merge original contents with the changes, which ultimately reduces the server processing overhead.
SharePoint 2016 Background Intelligent Transfer Service (BITS) Improves upload and download speeds and resiliency.
Advertisements
Advertisements
Improved list view threshold sharepoint 2016

Improved list view threshold sharepoint 2016

Advertisements
Advertisements

Improved list view threshold sharepoint 2016

So as to increase the performance of large lists, new timer job is introduced which can be associated with particular WebApp. In particular list if threshold is increased to more than 2500 list items & auto indexing is enabled for the list then it creates auto index based on List view filter column.

It works as shown in following flow diagram.

Large list column index management Timer Job

This PowerShell script helps to start this timer job.

  • $webapp= Get-WebApplication -Name “Web Application Name”
  • Get-SPTimerJob -WebApplication $webapp -Identity job-list-automatic-index-management
  • Start-SPTimerJob -Identity job-list-automatic-index-management

Enable Auto Indexing for SharePoint List or Library

Auto indexing can be enabled from the list settings or with Powershell as below.

This is the script for enabling the automatic indexing with PowerShell.

  • $web = Get-SPWeb http://webUrl
  • $list = $web.Lists["List Name"]
  • $list.EnableManagedIndexes = $false
  • $list.Update()
  • $list.Fields | Select Title, Indexable
Advertisements
Advertisements