SlideShare a Scribd company logo
1 of 79
SharePoint 2016 Adoption
Lessons Learned and Advanced Troubleshooting
Level 300 / Technical
About Me
• SharePoint / .NET solution and technical architect
• Over 20 years experience developing business solutions for private
industry & government
• Recent clients include DND, StatCan, HoC, Justice, NRC, NSERC, DFAIT,
CFPSA, MCC, OSFI
• Specialize in Microsoft technologies
• Speaker at user groups and conferences
Thank you to my sponsor
• CloudShare – Environments Made Easy
• http://www.cloudshare.com/
Overview
• Lessons Learned
• Advanced Troubleshooting
Adoption
• Very simple / smooth
• No major differences in project core workloads
• Publishing Portal site collection with EN / FR variations
• Design Manager package
• WET 4
• BDC .NET Connector
• Search service app
• Display templates
What Is New and Sort-Of Useful
• Smaller MinRole farm
• New capability of Feature Pack 1 / Nov 2016 public update
• Front-end with Distributed Cache
• Application with Search
• Admin Actions Logging (Central Admin and PowerShell)
• New capability of Feature Pack 1 / Nov 2016 public update
• No GUI or browse tooling available, access via PowerShell
• Retained for a maximum of 31 days
What Has Improved?
• Ampersand and other special characters in file name (RTM)
• Both drag & drop to library in browser and Explorer View
• Synonyms weighted the same as the original query terms (PU)
• PSConfig (PU)
• Recovery from cancel or abort/error
• Restarting of app pools
What Got Worse?
• Retrieve user crawled properties with PowerShell
• Only OOTB crawled properties are retrieved by PowerShell
• Get-SPEnterpriseSearchServiceApplication -
Identity "Search" | Get-
SPEnterpriseSearchMetadataCrawledProperty -
Category 'Business Data' | ft
Name Category Name Propset Is Mapped
To Contents
Is Name
Enum
Schema
Id
Variant
Type
docaclmeta Business Data 2edeba9a-0fa8-4020-8a8b-
30c3cdf34ccd
False False 0 0
EntityName Business Data 2edeba9a-0fa8-4020-8a8b-
30c3cdf34ccd
False False 0 0
EntityNamespa
ce
Business Data 2edeba9a-0fa8-4020-8a8b-
30c3cdf34ccd
False False 0 0
MinRole / Service Instances
• Enforces predefined set of service instances per server role
• Attempts to auto-restart service instance if it stops
• Does not repair service instance if it won’t restart or is corrupted
• Use Install-SPService to repair / re-provision service instance
• Per server node not entire farm
• https://technet.microsoft.com/en-us/library/ff607705(v=office.16).aspx
Admin vs Farm Account
• Admin account is not the same as Farm account
• Admin account
• Farm setup and patching
• PSCONFIG
• Configure and manage farm and servers
• Farm account
• Central Admin app pool identity
• Timer Service identity
Admin vs Farm Account
• Account logged in when SharePoint farm is created (psconfig)
becomes db_owner for farm config and central admin databases
• Account logged in when service apps and web apps are created in
PowerShell becomes db_owner for their databases, with limited
exceptions
• However, Farm account is automatically owner for some of these
• Important when SQL is hosted and SP admins have limited access /
permissions to SQL Server
• Important when installing and configuring those service apps that
have Farm account as dbo
Admin vs Farm Account
Services with Farm Account as dbo no matter what:
• Business Connectivity
• Secure Store
• Why?
Admin vs Farm Account
• Even reputable authorities confound Admin and Farm accounts
• Eg well-known Vlad Catrinescu blog post, SharePoint 2013 Service
Accounts Best Practices Explained
• As of Mar 27, 2017, more than four years after originally published
FQDN versus Non-FQDN
• Modern DNS config resolves both to same host
• However HTTP request still carries original hostname
• SharePoint and IIS may need AAM / bindings defined for both
otherwise won’t respond
• Do you really want / need to support both?
• If not, consider a rewrite rule to canonical form
• Use generic bindings
FQDN versus Non-FQDN
• Agnostic bindings for IIS are most flexible
• If multiple web apps IP Address could be specific IP or All Unassigned
FQDN versus Non-FQDN
• Rewrite Non-FQDN to canonical FQDN
• CACHE_URL is to capture protocol, no server variable for that
<rule name="Non-FQDN to FQDN" enabled="true" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{SERVER_NAME}" pattern="^hnsc-group$" negate="true" />
<add input="{SERVER_NAME}" pattern="^[^.]*$" />
<add input="{CACHE_URL}" pattern="^(.+)://" />
</conditions>
<action type="Redirect"
url="{C:1}://{SERVER_NAME}.XXX.ca:{SERVER_PORT}{PATH_INFO}" />
</rule>
Advanced Troubleshooting Tools
• Google! + Experience + Intuition
• ULS Viewer
• PowerShell
• F12 Developer Tools in browser / Developer Dashboard
• SharePoint Manager 2013
• SharePoint 2013 Search Tool
• dotPeek
• Fiddler and Wireshark
#1 Troubleshooting Technique
• Google Search !
• + Judicious keywords !
Central Admin On The Blink
• Refresh Central Admin but page is blank!?
• No error msg
• No correlation Id
• Entirely blank browser window
Central Admin On The Blink
• Try again in new browser tab!?
• Now standard browser 404 response
• But how does Central Admin go away so completely?!
Central Admin On The Blink
• Check and restart Central Admin IIS website and app pool
• Hostname and server ping succeeds
Central Admin On The Blink
• Check ULS, filter to Show Errors Only, a sea of red
Central Admin On The Blink
SQL database login for
‘XXX_DEV_SharePoint_Config' on
instance ‘XXX_DEV_SP16' failed.
Additional error information from
SQL Server is included below.
Login failed for user ‘YYYXXX-
D_Farm'. Cannot continue the
execution because the session is
in the kill state. A severe
error occurred on the current
command. The results, if any,
should be discarded.
Central Admin On The Blink
• Check SQL Server Management Studio
• Farm account is Deny access to database engine
Central Admin On The Blink
• There were numerous legacy service accounts
• In the process of disabling these we went one too far!
• Denied the Farm account access to the farm SQL server
• Reset Farm account to:
• Permission to connect to database engine: Grant
• Central Admin came back online
Conclusion
• ULS log had a simple and straightforward error msg
• Sometimes you get lucky with ULS!
• But not often!
ULS – View Logs From All Server Nodes!
BDC Service App Issue
• Dev team reports BDC .NET Connector deployment fails
• Dev team workaround:
• Switch web app service app associations from Default to Custom and include
BDC service app
• Even though Default and Custom groups show the same service app
associations
Service App Associations in Central Admin
• Default associations vs custom associations
• BDC actions in Central Admin and PowerShell fail with Default
associations assigned, succeed with Custom associations
BDC: Configure for Profile Page Host site Issue
• Possibly related issue in BDC service app Configure command for
Profile Page Host site
• The default BDC Service on site http://informatics-pot16-dev.XXX.ca/ does not
match current BDC Service.
BDC: Configure for Profile Page Host site Issue
• ULS logs show a divergence but no clear leads for troubleshooting
PowerShell Discrepancy vs Central Admin
• Discrepancy in default proxy group: PowerShell compared to Central
Admin
• SPWebApplication.ServiceApplicationProxyGroup.DefaultPr
oxies
• Picasso BDC Proxy is missing!
Display Name Type Name
Managed Metadata Connection Managed Metadata Service Connection
Picasso Search Proxy Search Service Application Proxy
Picasso User Profile Service User Profile Service Application Proxy
Secure Store Proxy Secure Store Service Application Proxy
State Service Proxy State Service Proxy
Usage and Health Usage and Health Data Collection Proxy
Fix: Force Add Service App Proxy to Default
Group
• PowerShell to add Picasso BDC Proxy to Default associations group
• Add-SPServiceApplicationProxyGroupMember $pg -
Member 5b29056d-2206-426a-b9db-096a3a43fd60 #
Picasso BDC Proxy
• No change in how Central Admin displays Default service app
associations list
• Resolves issue in BDC service app Configure command for Profile Page
Host site
• True fix versus using Custom association group work around
Root Cause – Solution Deployment Script
• BDC service app deployed by solution PowerShell script
• New-SPBusinessDataCatalogServiceApplication
cmdlet also creates a proxy but does not permit assigning it’s name
• New-SPBusinessDataCatalogServiceApplicationProxy
cmdlet permits assigning the proxy name
• Solution deployment script combined these and Remove-
SPServiceApplicationProxy cmdlet
• In a funky way that left the farm confused about the state of the
Default association group
Conclusion
• Inspect farm config with PowerShell as it may be more accurate than
Central Admin
F12 Developer Tools
• “Test User” / Restricted Reader experience
• No correlation id for ULS lookup
F12 Developer Tools
• Network Request and Response clearly shows which file
F12 Developer Tools
• Various files not published with major version
SharePoint Developer Dashboard
• Similar to F12 Dev Tools
• But server-side focus
• Deep ASP.NET page info
• Deep SharePoint page info
• Enable with PowerShell
Conclusion
• Inspect HTTP requests, responses, content, and browser errors
• Rapidly zero in on page or item related problems
• Inspect ASP.NET / SharePoint page lifecycle and Server Object Model
(SSOM) API calls
SharePoint Manager 2013
Search Query Tool
Search Query Tool
HTTP Request Pipeline
• Dev team reports that BDC service app Create/Upgrade profile pages
screen started having an issue
• This content cannot be displayed in a frame
HTTP Request Pipeline
• But that it opens fine a new tab or window
HTTP Request Pipeline
• You might recognize the issue immediately:
• Same Origin policy for framing
• Or Google
• Request domain is sps-adds-d01.XXX.ca
• Target domain is informatics-pot16-dev.XXX.ca
• But can F12 Dev Tools tell us more about root cause / resolution?
HTTP Request Pipeline
• Console errors are not relevant
• /_layouts/15/CreateProfileDialog.aspx appears to be the culprit
• Response aborts after that
HTTP Request Pipeline
• Response Headers for /_layouts/15/CreateProfileDialog.aspx
HTTP Request Pipeline
• Where does the X-FRAME-OPTIONS setting come from?
• Not IIS website HTTP Response Headers
HTTP Request Pipeline
• Try inserting our own HTTP Response Header, but creates duplicate
HTTP Request Pipeline
• Add control to master page:
• <WebPartPages:AllowFraming runat=”server” />
• But what is going on under the covers?
HTTP Request Pipeline
HTTP Request Pipeline
HTTP Request Pipeline
Conclusion
• SharePoint forces X-FRAME-OPTIONS: SAMEORIGIN
• No farm or IIS config will override this
• HttpModule can override
• Or just live with browser framing warning msg
HTTP Protocol of New Site Collection
• How to control the protocol of the URL of a new site collection?
• 3rd party Create Host-Named Site Collection
• OOTB Create Site Collection
Analyze Internals of an Application Page
• /_admin/SharePointHNSC/createhostnamedsite.aspx
Analyze Internals of an Application Page
• C:Program FilesCommon Filesmicrosoft sharedWeb Server
Extensions16TEMPLATEADMINSharePointHNSC
Analyze Internals of an Application Page
• 300 Lines of ASP.NET and JavaScript: How to find protocol element?
Analyze Internals of an Application Page
• Browser > F12 Developer Tools > DOM Explorer
Analyze Internals of an Application Page
• HTML element in createhostnamedsite.aspx
Analyze Internals of an Application Page
• Identify page class’ code behind assembly
Analyze Internals of an Application Page
• Identify page class’ code behind – from source code
Analyze Internals of an Application Page
• Identify page class’ code behind assembly
Analyze Internals of an Application Page
• Open assembly in dotPeek from JetBrains (ReSharper)
Analyze Internals of an Application Page
• Locate references to HTML element by its Id
Analyze Internals of an Application Page
• Analyze markup and code to determine source of element InnerText
Analyze Internals of an Application Page
• Analyze markup and code to determine source of element InnerText
• <SharePoint:WebApplicationSelector
id="Selector" runat="server“
OnContextChange="OnContextChange"
AllowAdministrationWebApplication="false" />
• SPWebApplication currentItem =
this.Selector.CurrentItem;
• this.SpanUrlProtocol.InnerText =
currentItem.GetResponseUri(SPUrlZone.Default).S
cheme + Uri.SchemeDelimiter;
HTTP Protocol of New Site Collection
• Central Admin force default zone protocol for new site collection to
match default zone protocol for web app container
• AAM of web app container needs to satisfy platform workloads HTTP
vs HTTPS
HTTP Protocol of New Site Collection
• Swap HTTP / HTTPS AAMs of web app container
HTTP Protocol of New Site Collection
• Swap HTTP / HTTPS AAMs of web app container
HTTP Protocol of New Site Collection
• Success: Switched default protocol for new site collection
• 3rd party Create Host-Named Site Collection
• OOTB Create Site Collection
Conclusion
• Get comfortable with reading disassembled Microsoft assemblies to
delve into actual logic of Central Admin application pages
• Also works for PowerShell cmdlets which are often written in C# /
.NET
Fiddler and Wireshark
• Show a degree of detail no available in F12 Dev Tools and SP Dev
Dashboard
Fiddler Shows Negotiate Steps #2
Fiddler Shows Negotiate Steps #3
Fiddler Shows Negotiate Steps #3
Next Steps – Try Out These Tools
• ULS Viewer
• PowerShell
• F12 Developer Tools in browser / Developer Dashboard
• SharePoint Manager 2013
• SharePoint 2013 Search Tool
• dotPeek
• Fiddler and Wireshark
Contact Me
• John Calvert, Chief Architect
• Software Craft, Inc.
• john (a) softwarecraft dot ca
• softwarecraft dot ca
• (a) softwarecraft99

More Related Content

What's hot

SharePoint 2010 Upgrade Drill Down
SharePoint 2010 Upgrade Drill DownSharePoint 2010 Upgrade Drill Down
SharePoint 2010 Upgrade Drill DownJoel Oleson
 
SharePoint Saturday St. Louis 2014: What SharePoint Admins need to know about...
SharePoint Saturday St. Louis 2014: What SharePoint Admins need to know about...SharePoint Saturday St. Louis 2014: What SharePoint Admins need to know about...
SharePoint Saturday St. Louis 2014: What SharePoint Admins need to know about...J.D. Wade
 
SharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi VončinaSharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi VončinaSPC Adriatics
 
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...SPTechCon
 
Migrate to share point 2016 (presentation)
Migrate to share point 2016 (presentation) Migrate to share point 2016 (presentation)
Migrate to share point 2016 (presentation) chanduraj1984
 
Automating SQL Server Database Creation for SharePoint
Automating SQL Server Database Creation for SharePointAutomating SQL Server Database Creation for SharePoint
Automating SQL Server Database Creation for SharePointTalbott Crowell
 
What SQL DBAs need to know about SharePoint-Indianapolis 2013
What SQL DBAs need to know about SharePoint-Indianapolis 2013What SQL DBAs need to know about SharePoint-Indianapolis 2013
What SQL DBAs need to know about SharePoint-Indianapolis 2013J.D. Wade
 
SharePoint 2016 Why Upgrade: Top 10 Compelling Features
SharePoint 2016 Why Upgrade: Top 10 Compelling FeaturesSharePoint 2016 Why Upgrade: Top 10 Compelling Features
SharePoint 2016 Why Upgrade: Top 10 Compelling FeaturesJoel Oleson
 
Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...SPTechCon
 
Unbreakable Sharepoint 2016 With SQL Server 2016 availability groups
Unbreakable Sharepoint 2016 With SQL Server 2016 availability groupsUnbreakable Sharepoint 2016 With SQL Server 2016 availability groups
Unbreakable Sharepoint 2016 With SQL Server 2016 availability groupsIsabelle Van Campenhoudt
 
ECS19 - Rodrigo Pinto - Migrating to Teams, real cases and scenarios
ECS19 - Rodrigo Pinto - Migrating to Teams, real cases and scenariosECS19 - Rodrigo Pinto - Migrating to Teams, real cases and scenarios
ECS19 - Rodrigo Pinto - Migrating to Teams, real cases and scenariosEuropean Collaboration Summit
 
SharePoint Performance Optimization In 10 Steps for the IT Professional
SharePoint Performance Optimization In 10 Steps for the IT ProfessionalSharePoint Performance Optimization In 10 Steps for the IT Professional
SharePoint Performance Optimization In 10 Steps for the IT ProfessionalJoel Oleson
 
Best Practices to SharePoint Architecture Fundamentals NZ & AUS
Best Practices to SharePoint Architecture Fundamentals NZ & AUSBest Practices to SharePoint Architecture Fundamentals NZ & AUS
Best Practices to SharePoint Architecture Fundamentals NZ & AUSguest7c2e070
 
Prepare for SharePoint 2016 - IT Pro best practices for managing your SharePo...
Prepare for SharePoint 2016 - IT Pro best practices for managing your SharePo...Prepare for SharePoint 2016 - IT Pro best practices for managing your SharePo...
Prepare for SharePoint 2016 - IT Pro best practices for managing your SharePo...Toni Frankola
 
SharePoint BCS, OK. But what is the SharePoint Business Data List Connector (...
SharePoint BCS, OK. But what is the SharePoint Business Data List Connector (...SharePoint BCS, OK. But what is the SharePoint Business Data List Connector (...
SharePoint BCS, OK. But what is the SharePoint Business Data List Connector (...Layer2
 
SharePoint 2016 Deep Dive
SharePoint 2016 Deep DiveSharePoint 2016 Deep Dive
SharePoint 2016 Deep DiveJared Matfess
 
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...Nik Patel
 
SQL Server and SharePoint - Best Practices presented by Steffen Krause, Micro...
SQL Server and SharePoint - Best Practices presented by Steffen Krause, Micro...SQL Server and SharePoint - Best Practices presented by Steffen Krause, Micro...
SQL Server and SharePoint - Best Practices presented by Steffen Krause, Micro...European SharePoint Conference
 
A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms
A Real World Guide to Building Highly Available Fault Tolerant SharePoint FarmsA Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms
A Real World Guide to Building Highly Available Fault Tolerant SharePoint FarmsEric Shupps
 
Analytically shiny and new: A guided tour of Microsoft’s Business Intelligenc...
Analytically shiny and new: A guided tour of Microsoft’s Business Intelligenc...Analytically shiny and new: A guided tour of Microsoft’s Business Intelligenc...
Analytically shiny and new: A guided tour of Microsoft’s Business Intelligenc...Jason Himmelstein
 

What's hot (20)

SharePoint 2010 Upgrade Drill Down
SharePoint 2010 Upgrade Drill DownSharePoint 2010 Upgrade Drill Down
SharePoint 2010 Upgrade Drill Down
 
SharePoint Saturday St. Louis 2014: What SharePoint Admins need to know about...
SharePoint Saturday St. Louis 2014: What SharePoint Admins need to know about...SharePoint Saturday St. Louis 2014: What SharePoint Admins need to know about...
SharePoint Saturday St. Louis 2014: What SharePoint Admins need to know about...
 
SharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi VončinaSharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi Vončina
 
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
 
Migrate to share point 2016 (presentation)
Migrate to share point 2016 (presentation) Migrate to share point 2016 (presentation)
Migrate to share point 2016 (presentation)
 
Automating SQL Server Database Creation for SharePoint
Automating SQL Server Database Creation for SharePointAutomating SQL Server Database Creation for SharePoint
Automating SQL Server Database Creation for SharePoint
 
What SQL DBAs need to know about SharePoint-Indianapolis 2013
What SQL DBAs need to know about SharePoint-Indianapolis 2013What SQL DBAs need to know about SharePoint-Indianapolis 2013
What SQL DBAs need to know about SharePoint-Indianapolis 2013
 
SharePoint 2016 Why Upgrade: Top 10 Compelling Features
SharePoint 2016 Why Upgrade: Top 10 Compelling FeaturesSharePoint 2016 Why Upgrade: Top 10 Compelling Features
SharePoint 2016 Why Upgrade: Top 10 Compelling Features
 
Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
 
Unbreakable Sharepoint 2016 With SQL Server 2016 availability groups
Unbreakable Sharepoint 2016 With SQL Server 2016 availability groupsUnbreakable Sharepoint 2016 With SQL Server 2016 availability groups
Unbreakable Sharepoint 2016 With SQL Server 2016 availability groups
 
ECS19 - Rodrigo Pinto - Migrating to Teams, real cases and scenarios
ECS19 - Rodrigo Pinto - Migrating to Teams, real cases and scenariosECS19 - Rodrigo Pinto - Migrating to Teams, real cases and scenarios
ECS19 - Rodrigo Pinto - Migrating to Teams, real cases and scenarios
 
SharePoint Performance Optimization In 10 Steps for the IT Professional
SharePoint Performance Optimization In 10 Steps for the IT ProfessionalSharePoint Performance Optimization In 10 Steps for the IT Professional
SharePoint Performance Optimization In 10 Steps for the IT Professional
 
Best Practices to SharePoint Architecture Fundamentals NZ & AUS
Best Practices to SharePoint Architecture Fundamentals NZ & AUSBest Practices to SharePoint Architecture Fundamentals NZ & AUS
Best Practices to SharePoint Architecture Fundamentals NZ & AUS
 
Prepare for SharePoint 2016 - IT Pro best practices for managing your SharePo...
Prepare for SharePoint 2016 - IT Pro best practices for managing your SharePo...Prepare for SharePoint 2016 - IT Pro best practices for managing your SharePo...
Prepare for SharePoint 2016 - IT Pro best practices for managing your SharePo...
 
SharePoint BCS, OK. But what is the SharePoint Business Data List Connector (...
SharePoint BCS, OK. But what is the SharePoint Business Data List Connector (...SharePoint BCS, OK. But what is the SharePoint Business Data List Connector (...
SharePoint BCS, OK. But what is the SharePoint Business Data List Connector (...
 
SharePoint 2016 Deep Dive
SharePoint 2016 Deep DiveSharePoint 2016 Deep Dive
SharePoint 2016 Deep Dive
 
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
 
SQL Server and SharePoint - Best Practices presented by Steffen Krause, Micro...
SQL Server and SharePoint - Best Practices presented by Steffen Krause, Micro...SQL Server and SharePoint - Best Practices presented by Steffen Krause, Micro...
SQL Server and SharePoint - Best Practices presented by Steffen Krause, Micro...
 
A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms
A Real World Guide to Building Highly Available Fault Tolerant SharePoint FarmsA Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms
A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms
 
Analytically shiny and new: A guided tour of Microsoft’s Business Intelligenc...
Analytically shiny and new: A guided tour of Microsoft’s Business Intelligenc...Analytically shiny and new: A guided tour of Microsoft’s Business Intelligenc...
Analytically shiny and new: A guided tour of Microsoft’s Business Intelligenc...
 

Similar to SharePoint 2016 Adoption - Lessons Learned and Advanced Troubleshooting

SharePoint 2013 – the upgrade story
SharePoint 2013 – the upgrade storySharePoint 2013 – the upgrade story
SharePoint 2013 – the upgrade storySPC Adriatics
 
Identity Management in SharePoint 2013
Identity Management in SharePoint 2013Identity Management in SharePoint 2013
Identity Management in SharePoint 2013SPC Adriatics
 
SharePoint Development (Lesson 3)
SharePoint Development (Lesson 3)SharePoint Development (Lesson 3)
SharePoint Development (Lesson 3)MJ Ferdous
 
SharePoint Saturday Belgium 2014 - Best Practices for Configuring the ShareP...
SharePoint Saturday Belgium 2014 -  Best Practices for Configuring the ShareP...SharePoint Saturday Belgium 2014 -  Best Practices for Configuring the ShareP...
SharePoint Saturday Belgium 2014 - Best Practices for Configuring the ShareP...BIWUG
 
Datapolis Guest Expert Presentation: Top 15 SharePoint Server Configuration M...
Datapolis Guest Expert Presentation: Top 15 SharePoint Server Configuration M...Datapolis Guest Expert Presentation: Top 15 SharePoint Server Configuration M...
Datapolis Guest Expert Presentation: Top 15 SharePoint Server Configuration M...Datapolis
 
SPSNYC SharePoint Worst Practices
SPSNYC SharePoint Worst PracticesSPSNYC SharePoint Worst Practices
SPSNYC SharePoint Worst PracticesScott Hoag
 
Heading to the Cloud : Introduction to deploying a Provider-Hosted App in Azure
Heading to the Cloud : Introduction to deploying a Provider-Hosted App in AzureHeading to the Cloud : Introduction to deploying a Provider-Hosted App in Azure
Heading to the Cloud : Introduction to deploying a Provider-Hosted App in AzureXenox Garavito
 
Overview of Chef - Fundamentals Webinar Series Part 1
Overview of Chef - Fundamentals Webinar Series Part 1Overview of Chef - Fundamentals Webinar Series Part 1
Overview of Chef - Fundamentals Webinar Series Part 1Chef
 
Spca2014 harbar wac
Spca2014 harbar wacSpca2014 harbar wac
Spca2014 harbar wacNCCOMMS
 
SharePoint on demand with System Center - Matija Blagus
SharePoint on demand with System Center - Matija BlagusSharePoint on demand with System Center - Matija Blagus
SharePoint on demand with System Center - Matija BlagusSPC Adriatics
 
WinOps Conf 2016 - Michael Greene - Release Pipelines
WinOps Conf 2016 - Michael Greene - Release PipelinesWinOps Conf 2016 - Michael Greene - Release Pipelines
WinOps Conf 2016 - Michael Greene - Release PipelinesWinOps Conf
 
What SQL DBAs need to know about SharePoint-Kansas City, Sept 2013
What SQL DBAs need to know about SharePoint-Kansas City, Sept 2013What SQL DBAs need to know about SharePoint-Kansas City, Sept 2013
What SQL DBAs need to know about SharePoint-Kansas City, Sept 2013J.D. Wade
 
Deep dive into share point framework webparts
Deep dive into share point framework webpartsDeep dive into share point framework webparts
Deep dive into share point framework webpartsPrabhu Nehru
 
SPSUtah 2014 SharePoint 2013 Performance (Admin)
SPSUtah 2014 SharePoint 2013 Performance (Admin)SPSUtah 2014 SharePoint 2013 Performance (Admin)
SPSUtah 2014 SharePoint 2013 Performance (Admin)Brian Culver
 
[Vončina] Configuring SharePoint 2016 for BI Scenarios
[Vončina] Configuring SharePoint 2016 for BI Scenarios[Vončina] Configuring SharePoint 2016 for BI Scenarios
[Vončina] Configuring SharePoint 2016 for BI ScenariosEuropean Collaboration Summit
 
Power BI Report Server & Office Online Server
Power BI Report Server & Office Online ServerPower BI Report Server & Office Online Server
Power BI Report Server & Office Online ServerIsabelle Van Campenhoudt
 
Introduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to ChefIntroduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to ChefNathen Harvey
 
Kako pravilno konfigurisati SharePoint on-premises za SharePoint Add-ins (Sha...
Kako pravilno konfigurisati SharePoint on-premises za SharePoint Add-ins (Sha...Kako pravilno konfigurisati SharePoint on-premises za SharePoint Add-ins (Sha...
Kako pravilno konfigurisati SharePoint on-premises za SharePoint Add-ins (Sha...Dragan Panjkov
 
OWA And SharePoint Integration
OWA And SharePoint IntegrationOWA And SharePoint Integration
OWA And SharePoint Integrationjems7
 

Similar to SharePoint 2016 Adoption - Lessons Learned and Advanced Troubleshooting (20)

SharePoint 2013 – the upgrade story
SharePoint 2013 – the upgrade storySharePoint 2013 – the upgrade story
SharePoint 2013 – the upgrade story
 
Identity Management in SharePoint 2013
Identity Management in SharePoint 2013Identity Management in SharePoint 2013
Identity Management in SharePoint 2013
 
SharePoint Development (Lesson 3)
SharePoint Development (Lesson 3)SharePoint Development (Lesson 3)
SharePoint Development (Lesson 3)
 
SharePoint Saturday Belgium 2014 - Best Practices for Configuring the ShareP...
SharePoint Saturday Belgium 2014 -  Best Practices for Configuring the ShareP...SharePoint Saturday Belgium 2014 -  Best Practices for Configuring the ShareP...
SharePoint Saturday Belgium 2014 - Best Practices for Configuring the ShareP...
 
Datapolis Guest Expert Presentation: Top 15 SharePoint Server Configuration M...
Datapolis Guest Expert Presentation: Top 15 SharePoint Server Configuration M...Datapolis Guest Expert Presentation: Top 15 SharePoint Server Configuration M...
Datapolis Guest Expert Presentation: Top 15 SharePoint Server Configuration M...
 
SPSNYC SharePoint Worst Practices
SPSNYC SharePoint Worst PracticesSPSNYC SharePoint Worst Practices
SPSNYC SharePoint Worst Practices
 
Heading to the Cloud : Introduction to deploying a Provider-Hosted App in Azure
Heading to the Cloud : Introduction to deploying a Provider-Hosted App in AzureHeading to the Cloud : Introduction to deploying a Provider-Hosted App in Azure
Heading to the Cloud : Introduction to deploying a Provider-Hosted App in Azure
 
Overview of Chef - Fundamentals Webinar Series Part 1
Overview of Chef - Fundamentals Webinar Series Part 1Overview of Chef - Fundamentals Webinar Series Part 1
Overview of Chef - Fundamentals Webinar Series Part 1
 
Spca2014 harbar wac
Spca2014 harbar wacSpca2014 harbar wac
Spca2014 harbar wac
 
SharePoint on demand with System Center - Matija Blagus
SharePoint on demand with System Center - Matija BlagusSharePoint on demand with System Center - Matija Blagus
SharePoint on demand with System Center - Matija Blagus
 
WinOps Conf 2016 - Michael Greene - Release Pipelines
WinOps Conf 2016 - Michael Greene - Release PipelinesWinOps Conf 2016 - Michael Greene - Release Pipelines
WinOps Conf 2016 - Michael Greene - Release Pipelines
 
What SQL DBAs need to know about SharePoint-Kansas City, Sept 2013
What SQL DBAs need to know about SharePoint-Kansas City, Sept 2013What SQL DBAs need to know about SharePoint-Kansas City, Sept 2013
What SQL DBAs need to know about SharePoint-Kansas City, Sept 2013
 
Deep dive into share point framework webparts
Deep dive into share point framework webpartsDeep dive into share point framework webparts
Deep dive into share point framework webparts
 
SPSUtah 2014 SharePoint 2013 Performance (Admin)
SPSUtah 2014 SharePoint 2013 Performance (Admin)SPSUtah 2014 SharePoint 2013 Performance (Admin)
SPSUtah 2014 SharePoint 2013 Performance (Admin)
 
[Vončina] Configuring SharePoint 2016 for BI Scenarios
[Vončina] Configuring SharePoint 2016 for BI Scenarios[Vončina] Configuring SharePoint 2016 for BI Scenarios
[Vončina] Configuring SharePoint 2016 for BI Scenarios
 
Power BI Report Server & Office Online Server
Power BI Report Server & Office Online ServerPower BI Report Server & Office Online Server
Power BI Report Server & Office Online Server
 
Introduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to ChefIntroduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to Chef
 
Kako pravilno konfigurisati SharePoint on-premises za SharePoint Add-ins (Sha...
Kako pravilno konfigurisati SharePoint on-premises za SharePoint Add-ins (Sha...Kako pravilno konfigurisati SharePoint on-premises za SharePoint Add-ins (Sha...
Kako pravilno konfigurisati SharePoint on-premises za SharePoint Add-ins (Sha...
 
OWA And SharePoint Integration
OWA And SharePoint IntegrationOWA And SharePoint Integration
OWA And SharePoint Integration
 
ECS19 - Robi Voncina - Upgrade to SharePoint 2019
ECS19 - Robi Voncina - Upgrade to SharePoint 2019ECS19 - Robi Voncina - Upgrade to SharePoint 2019
ECS19 - Robi Voncina - Upgrade to SharePoint 2019
 

More from John Calvert

Azure IaaS-PaaS Migrations - Lessons Learned
Azure IaaS-PaaS Migrations - Lessons LearnedAzure IaaS-PaaS Migrations - Lessons Learned
Azure IaaS-PaaS Migrations - Lessons LearnedJohn Calvert
 
Lessons learned from migrating a legacy web app to azure
Lessons learned from migrating a legacy web app to azureLessons learned from migrating a legacy web app to azure
Lessons learned from migrating a legacy web app to azureJohn Calvert
 
What's New and What's Out for SharePoint Server 2019 On-Premises
What's New and What's Out for SharePoint Server 2019 On-PremisesWhat's New and What's Out for SharePoint Server 2019 On-Premises
What's New and What's Out for SharePoint Server 2019 On-PremisesJohn Calvert
 
SharePoint 2016 - What’s New and What Matters
SharePoint 2016 - What’s New and What MattersSharePoint 2016 - What’s New and What Matters
SharePoint 2016 - What’s New and What MattersJohn Calvert
 
Transform SharePoint List Forms with HTML and CSS
Transform SharePoint List Forms with HTML and CSSTransform SharePoint List Forms with HTML and CSS
Transform SharePoint List Forms with HTML and CSSJohn Calvert
 
Transform SharePoint default list forms with HTML, CSS and JavaScript
Transform SharePoint default list forms with HTML, CSS and JavaScriptTransform SharePoint default list forms with HTML, CSS and JavaScript
Transform SharePoint default list forms with HTML, CSS and JavaScriptJohn Calvert
 
SharePoint 2013 APIs
SharePoint 2013 APIsSharePoint 2013 APIs
SharePoint 2013 APIsJohn Calvert
 
Migrating to SharePoint 2013 - Business and Technical Perspective
Migrating to SharePoint 2013 - Business and Technical PerspectiveMigrating to SharePoint 2013 - Business and Technical Perspective
Migrating to SharePoint 2013 - Business and Technical PerspectiveJohn Calvert
 
How to be Social with My Sites in SharePoint 2013
How to be Social with My Sites in SharePoint 2013How to be Social with My Sites in SharePoint 2013
How to be Social with My Sites in SharePoint 2013John Calvert
 
IIBA OO - Is a business analyst required for SharePoint projects?
IIBA OO - Is a business analyst required for SharePoint projects?IIBA OO - Is a business analyst required for SharePoint projects?
IIBA OO - Is a business analyst required for SharePoint projects?John Calvert
 
SharePoint for the .NET Developer
SharePoint for the .NET DeveloperSharePoint for the .NET Developer
SharePoint for the .NET DeveloperJohn Calvert
 
Cloud Based Dev/Test Environments for .NET and SharePoint Using CloudShare
Cloud Based Dev/Test Environments for .NET and SharePoint Using CloudShareCloud Based Dev/Test Environments for .NET and SharePoint Using CloudShare
Cloud Based Dev/Test Environments for .NET and SharePoint Using CloudShareJohn Calvert
 
Cloud-Based Dev/Test Environments for SharePoint using CloudShare
Cloud-Based Dev/Test Environments for SharePoint using CloudShareCloud-Based Dev/Test Environments for SharePoint using CloudShare
Cloud-Based Dev/Test Environments for SharePoint using CloudShareJohn Calvert
 

More from John Calvert (13)

Azure IaaS-PaaS Migrations - Lessons Learned
Azure IaaS-PaaS Migrations - Lessons LearnedAzure IaaS-PaaS Migrations - Lessons Learned
Azure IaaS-PaaS Migrations - Lessons Learned
 
Lessons learned from migrating a legacy web app to azure
Lessons learned from migrating a legacy web app to azureLessons learned from migrating a legacy web app to azure
Lessons learned from migrating a legacy web app to azure
 
What's New and What's Out for SharePoint Server 2019 On-Premises
What's New and What's Out for SharePoint Server 2019 On-PremisesWhat's New and What's Out for SharePoint Server 2019 On-Premises
What's New and What's Out for SharePoint Server 2019 On-Premises
 
SharePoint 2016 - What’s New and What Matters
SharePoint 2016 - What’s New and What MattersSharePoint 2016 - What’s New and What Matters
SharePoint 2016 - What’s New and What Matters
 
Transform SharePoint List Forms with HTML and CSS
Transform SharePoint List Forms with HTML and CSSTransform SharePoint List Forms with HTML and CSS
Transform SharePoint List Forms with HTML and CSS
 
Transform SharePoint default list forms with HTML, CSS and JavaScript
Transform SharePoint default list forms with HTML, CSS and JavaScriptTransform SharePoint default list forms with HTML, CSS and JavaScript
Transform SharePoint default list forms with HTML, CSS and JavaScript
 
SharePoint 2013 APIs
SharePoint 2013 APIsSharePoint 2013 APIs
SharePoint 2013 APIs
 
Migrating to SharePoint 2013 - Business and Technical Perspective
Migrating to SharePoint 2013 - Business and Technical PerspectiveMigrating to SharePoint 2013 - Business and Technical Perspective
Migrating to SharePoint 2013 - Business and Technical Perspective
 
How to be Social with My Sites in SharePoint 2013
How to be Social with My Sites in SharePoint 2013How to be Social with My Sites in SharePoint 2013
How to be Social with My Sites in SharePoint 2013
 
IIBA OO - Is a business analyst required for SharePoint projects?
IIBA OO - Is a business analyst required for SharePoint projects?IIBA OO - Is a business analyst required for SharePoint projects?
IIBA OO - Is a business analyst required for SharePoint projects?
 
SharePoint for the .NET Developer
SharePoint for the .NET DeveloperSharePoint for the .NET Developer
SharePoint for the .NET Developer
 
Cloud Based Dev/Test Environments for .NET and SharePoint Using CloudShare
Cloud Based Dev/Test Environments for .NET and SharePoint Using CloudShareCloud Based Dev/Test Environments for .NET and SharePoint Using CloudShare
Cloud Based Dev/Test Environments for .NET and SharePoint Using CloudShare
 
Cloud-Based Dev/Test Environments for SharePoint using CloudShare
Cloud-Based Dev/Test Environments for SharePoint using CloudShareCloud-Based Dev/Test Environments for SharePoint using CloudShare
Cloud-Based Dev/Test Environments for SharePoint using CloudShare
 

Recently uploaded

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 

Recently uploaded (20)

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

SharePoint 2016 Adoption - Lessons Learned and Advanced Troubleshooting

  • 1. SharePoint 2016 Adoption Lessons Learned and Advanced Troubleshooting Level 300 / Technical
  • 2. About Me • SharePoint / .NET solution and technical architect • Over 20 years experience developing business solutions for private industry & government • Recent clients include DND, StatCan, HoC, Justice, NRC, NSERC, DFAIT, CFPSA, MCC, OSFI • Specialize in Microsoft technologies • Speaker at user groups and conferences
  • 3. Thank you to my sponsor • CloudShare – Environments Made Easy • http://www.cloudshare.com/
  • 4. Overview • Lessons Learned • Advanced Troubleshooting
  • 5. Adoption • Very simple / smooth • No major differences in project core workloads • Publishing Portal site collection with EN / FR variations • Design Manager package • WET 4 • BDC .NET Connector • Search service app • Display templates
  • 6. What Is New and Sort-Of Useful • Smaller MinRole farm • New capability of Feature Pack 1 / Nov 2016 public update • Front-end with Distributed Cache • Application with Search • Admin Actions Logging (Central Admin and PowerShell) • New capability of Feature Pack 1 / Nov 2016 public update • No GUI or browse tooling available, access via PowerShell • Retained for a maximum of 31 days
  • 7. What Has Improved? • Ampersand and other special characters in file name (RTM) • Both drag & drop to library in browser and Explorer View • Synonyms weighted the same as the original query terms (PU) • PSConfig (PU) • Recovery from cancel or abort/error • Restarting of app pools
  • 8. What Got Worse? • Retrieve user crawled properties with PowerShell • Only OOTB crawled properties are retrieved by PowerShell • Get-SPEnterpriseSearchServiceApplication - Identity "Search" | Get- SPEnterpriseSearchMetadataCrawledProperty - Category 'Business Data' | ft Name Category Name Propset Is Mapped To Contents Is Name Enum Schema Id Variant Type docaclmeta Business Data 2edeba9a-0fa8-4020-8a8b- 30c3cdf34ccd False False 0 0 EntityName Business Data 2edeba9a-0fa8-4020-8a8b- 30c3cdf34ccd False False 0 0 EntityNamespa ce Business Data 2edeba9a-0fa8-4020-8a8b- 30c3cdf34ccd False False 0 0
  • 9. MinRole / Service Instances • Enforces predefined set of service instances per server role • Attempts to auto-restart service instance if it stops • Does not repair service instance if it won’t restart or is corrupted • Use Install-SPService to repair / re-provision service instance • Per server node not entire farm • https://technet.microsoft.com/en-us/library/ff607705(v=office.16).aspx
  • 10. Admin vs Farm Account • Admin account is not the same as Farm account • Admin account • Farm setup and patching • PSCONFIG • Configure and manage farm and servers • Farm account • Central Admin app pool identity • Timer Service identity
  • 11. Admin vs Farm Account • Account logged in when SharePoint farm is created (psconfig) becomes db_owner for farm config and central admin databases • Account logged in when service apps and web apps are created in PowerShell becomes db_owner for their databases, with limited exceptions • However, Farm account is automatically owner for some of these • Important when SQL is hosted and SP admins have limited access / permissions to SQL Server • Important when installing and configuring those service apps that have Farm account as dbo
  • 12. Admin vs Farm Account Services with Farm Account as dbo no matter what: • Business Connectivity • Secure Store • Why?
  • 13. Admin vs Farm Account • Even reputable authorities confound Admin and Farm accounts • Eg well-known Vlad Catrinescu blog post, SharePoint 2013 Service Accounts Best Practices Explained • As of Mar 27, 2017, more than four years after originally published
  • 14. FQDN versus Non-FQDN • Modern DNS config resolves both to same host • However HTTP request still carries original hostname • SharePoint and IIS may need AAM / bindings defined for both otherwise won’t respond • Do you really want / need to support both? • If not, consider a rewrite rule to canonical form • Use generic bindings
  • 15. FQDN versus Non-FQDN • Agnostic bindings for IIS are most flexible • If multiple web apps IP Address could be specific IP or All Unassigned
  • 16. FQDN versus Non-FQDN • Rewrite Non-FQDN to canonical FQDN • CACHE_URL is to capture protocol, no server variable for that <rule name="Non-FQDN to FQDN" enabled="true" stopProcessing="true"> <match url=".*" /> <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> <add input="{SERVER_NAME}" pattern="^hnsc-group$" negate="true" /> <add input="{SERVER_NAME}" pattern="^[^.]*$" /> <add input="{CACHE_URL}" pattern="^(.+)://" /> </conditions> <action type="Redirect" url="{C:1}://{SERVER_NAME}.XXX.ca:{SERVER_PORT}{PATH_INFO}" /> </rule>
  • 17. Advanced Troubleshooting Tools • Google! + Experience + Intuition • ULS Viewer • PowerShell • F12 Developer Tools in browser / Developer Dashboard • SharePoint Manager 2013 • SharePoint 2013 Search Tool • dotPeek • Fiddler and Wireshark
  • 18. #1 Troubleshooting Technique • Google Search ! • + Judicious keywords !
  • 19. Central Admin On The Blink • Refresh Central Admin but page is blank!? • No error msg • No correlation Id • Entirely blank browser window
  • 20. Central Admin On The Blink • Try again in new browser tab!? • Now standard browser 404 response • But how does Central Admin go away so completely?!
  • 21. Central Admin On The Blink • Check and restart Central Admin IIS website and app pool • Hostname and server ping succeeds
  • 22. Central Admin On The Blink • Check ULS, filter to Show Errors Only, a sea of red
  • 23. Central Admin On The Blink SQL database login for ‘XXX_DEV_SharePoint_Config' on instance ‘XXX_DEV_SP16' failed. Additional error information from SQL Server is included below. Login failed for user ‘YYYXXX- D_Farm'. Cannot continue the execution because the session is in the kill state. A severe error occurred on the current command. The results, if any, should be discarded.
  • 24. Central Admin On The Blink • Check SQL Server Management Studio • Farm account is Deny access to database engine
  • 25. Central Admin On The Blink • There were numerous legacy service accounts • In the process of disabling these we went one too far! • Denied the Farm account access to the farm SQL server • Reset Farm account to: • Permission to connect to database engine: Grant • Central Admin came back online
  • 26. Conclusion • ULS log had a simple and straightforward error msg • Sometimes you get lucky with ULS! • But not often!
  • 27. ULS – View Logs From All Server Nodes!
  • 28. BDC Service App Issue • Dev team reports BDC .NET Connector deployment fails • Dev team workaround: • Switch web app service app associations from Default to Custom and include BDC service app • Even though Default and Custom groups show the same service app associations
  • 29. Service App Associations in Central Admin • Default associations vs custom associations • BDC actions in Central Admin and PowerShell fail with Default associations assigned, succeed with Custom associations
  • 30. BDC: Configure for Profile Page Host site Issue • Possibly related issue in BDC service app Configure command for Profile Page Host site • The default BDC Service on site http://informatics-pot16-dev.XXX.ca/ does not match current BDC Service.
  • 31. BDC: Configure for Profile Page Host site Issue • ULS logs show a divergence but no clear leads for troubleshooting
  • 32. PowerShell Discrepancy vs Central Admin • Discrepancy in default proxy group: PowerShell compared to Central Admin • SPWebApplication.ServiceApplicationProxyGroup.DefaultPr oxies • Picasso BDC Proxy is missing! Display Name Type Name Managed Metadata Connection Managed Metadata Service Connection Picasso Search Proxy Search Service Application Proxy Picasso User Profile Service User Profile Service Application Proxy Secure Store Proxy Secure Store Service Application Proxy State Service Proxy State Service Proxy Usage and Health Usage and Health Data Collection Proxy
  • 33. Fix: Force Add Service App Proxy to Default Group • PowerShell to add Picasso BDC Proxy to Default associations group • Add-SPServiceApplicationProxyGroupMember $pg - Member 5b29056d-2206-426a-b9db-096a3a43fd60 # Picasso BDC Proxy • No change in how Central Admin displays Default service app associations list • Resolves issue in BDC service app Configure command for Profile Page Host site • True fix versus using Custom association group work around
  • 34. Root Cause – Solution Deployment Script • BDC service app deployed by solution PowerShell script • New-SPBusinessDataCatalogServiceApplication cmdlet also creates a proxy but does not permit assigning it’s name • New-SPBusinessDataCatalogServiceApplicationProxy cmdlet permits assigning the proxy name • Solution deployment script combined these and Remove- SPServiceApplicationProxy cmdlet • In a funky way that left the farm confused about the state of the Default association group
  • 35. Conclusion • Inspect farm config with PowerShell as it may be more accurate than Central Admin
  • 36. F12 Developer Tools • “Test User” / Restricted Reader experience • No correlation id for ULS lookup
  • 37. F12 Developer Tools • Network Request and Response clearly shows which file
  • 38. F12 Developer Tools • Various files not published with major version
  • 39. SharePoint Developer Dashboard • Similar to F12 Dev Tools • But server-side focus • Deep ASP.NET page info • Deep SharePoint page info • Enable with PowerShell
  • 40. Conclusion • Inspect HTTP requests, responses, content, and browser errors • Rapidly zero in on page or item related problems • Inspect ASP.NET / SharePoint page lifecycle and Server Object Model (SSOM) API calls
  • 44. HTTP Request Pipeline • Dev team reports that BDC service app Create/Upgrade profile pages screen started having an issue • This content cannot be displayed in a frame
  • 45. HTTP Request Pipeline • But that it opens fine a new tab or window
  • 46. HTTP Request Pipeline • You might recognize the issue immediately: • Same Origin policy for framing • Or Google • Request domain is sps-adds-d01.XXX.ca • Target domain is informatics-pot16-dev.XXX.ca • But can F12 Dev Tools tell us more about root cause / resolution?
  • 47. HTTP Request Pipeline • Console errors are not relevant • /_layouts/15/CreateProfileDialog.aspx appears to be the culprit • Response aborts after that
  • 48. HTTP Request Pipeline • Response Headers for /_layouts/15/CreateProfileDialog.aspx
  • 49. HTTP Request Pipeline • Where does the X-FRAME-OPTIONS setting come from? • Not IIS website HTTP Response Headers
  • 50. HTTP Request Pipeline • Try inserting our own HTTP Response Header, but creates duplicate
  • 51. HTTP Request Pipeline • Add control to master page: • <WebPartPages:AllowFraming runat=”server” /> • But what is going on under the covers?
  • 55. Conclusion • SharePoint forces X-FRAME-OPTIONS: SAMEORIGIN • No farm or IIS config will override this • HttpModule can override • Or just live with browser framing warning msg
  • 56. HTTP Protocol of New Site Collection • How to control the protocol of the URL of a new site collection? • 3rd party Create Host-Named Site Collection • OOTB Create Site Collection
  • 57. Analyze Internals of an Application Page • /_admin/SharePointHNSC/createhostnamedsite.aspx
  • 58. Analyze Internals of an Application Page • C:Program FilesCommon Filesmicrosoft sharedWeb Server Extensions16TEMPLATEADMINSharePointHNSC
  • 59. Analyze Internals of an Application Page • 300 Lines of ASP.NET and JavaScript: How to find protocol element?
  • 60. Analyze Internals of an Application Page • Browser > F12 Developer Tools > DOM Explorer
  • 61. Analyze Internals of an Application Page • HTML element in createhostnamedsite.aspx
  • 62. Analyze Internals of an Application Page • Identify page class’ code behind assembly
  • 63. Analyze Internals of an Application Page • Identify page class’ code behind – from source code
  • 64. Analyze Internals of an Application Page • Identify page class’ code behind assembly
  • 65. Analyze Internals of an Application Page • Open assembly in dotPeek from JetBrains (ReSharper)
  • 66. Analyze Internals of an Application Page • Locate references to HTML element by its Id
  • 67. Analyze Internals of an Application Page • Analyze markup and code to determine source of element InnerText
  • 68. Analyze Internals of an Application Page • Analyze markup and code to determine source of element InnerText • <SharePoint:WebApplicationSelector id="Selector" runat="server“ OnContextChange="OnContextChange" AllowAdministrationWebApplication="false" /> • SPWebApplication currentItem = this.Selector.CurrentItem; • this.SpanUrlProtocol.InnerText = currentItem.GetResponseUri(SPUrlZone.Default).S cheme + Uri.SchemeDelimiter;
  • 69. HTTP Protocol of New Site Collection • Central Admin force default zone protocol for new site collection to match default zone protocol for web app container • AAM of web app container needs to satisfy platform workloads HTTP vs HTTPS
  • 70. HTTP Protocol of New Site Collection • Swap HTTP / HTTPS AAMs of web app container
  • 71. HTTP Protocol of New Site Collection • Swap HTTP / HTTPS AAMs of web app container
  • 72. HTTP Protocol of New Site Collection • Success: Switched default protocol for new site collection • 3rd party Create Host-Named Site Collection • OOTB Create Site Collection
  • 73. Conclusion • Get comfortable with reading disassembled Microsoft assemblies to delve into actual logic of Central Admin application pages • Also works for PowerShell cmdlets which are often written in C# / .NET
  • 74. Fiddler and Wireshark • Show a degree of detail no available in F12 Dev Tools and SP Dev Dashboard
  • 78. Next Steps – Try Out These Tools • ULS Viewer • PowerShell • F12 Developer Tools in browser / Developer Dashboard • SharePoint Manager 2013 • SharePoint 2013 Search Tool • dotPeek • Fiddler and Wireshark
  • 79. Contact Me • John Calvert, Chief Architect • Software Craft, Inc. • john (a) softwarecraft dot ca • softwarecraft dot ca • (a) softwarecraft99

Editor's Notes

  1. MinRole – Feature Pack 1 2 core servers before SQL / OOS / HA / DR, etc Planning for a MinRole server deployment in SharePoint Server 2016 https://technet.microsoft.com/en-ca/library/mt743704(v=office.16).aspx Admin Logging Using Administrative Actions logging in SharePoint Server 2016 https://technet.microsoft.com/en-us/library/mt790698(v=office.16).aspx Feature Pack 1 / Nov 2016 Public Update Same regression testing as standard Public Update, less than Service Pack, install at your own risk Get-SPServer | FT -Property Address, Role, CompliantWithMinRole
  2. Recent Public Updates include improvement to PSConfig and Search synonym weighting: Restarts services that it stopped even if cancelled or aborted due to error Streamlines stopping and starting of IIS app pools
  3. Install-SPService, per Trevor Seward, MVP, in answers.microsoft.com
  4. SQL + SAN storage: assign both dbo to database and also rights to storage folder BDC .NET Connector deployment woes when not logged in as Farm account, even with permissions granted to Admin account
  5. TODO: T-SQL to view database owners Why: Security perhaps?
  6. Errors in this blog post: SP_Admin not SP_Farm should have “Configure and manage the server farm”, probably a copy & paste error SP_Admin should be clearly marked as a user account not a service account Important if you User Rights Assignments “Log on as a service” and not “Log on locally as a user”
  7. {CACHE_URL} is used to capture protocol since there is no IIS server variable for this, at least as of IIS 8.x
  8. https://blogs.technet.microsoft.com/wbaer/2014/08/22/uls-viewing-like-a-boss-uls-viewer-is-now-available/ http://spm.codeplex.com http://sp2013searchtool.codeplex.com/ https://www.jetbrains.com/decompiler/ http://www.telerik.com/fiddler https://www.wireshark.org/ https://zimmergren.net/tools-for-your-sharepoint-2013-development-toolbox/
  9. ULS Viewing Like a Boss (ULS Viewer is now available) – MSDN Blogs https://blogs.technet.microsoft.com/wbaer/2014/08/22/uls-viewing-like-a-boss-uls-viewer-is-now-available/
  10. PowerShell script error msg and ULS log: TBD
  11. Using the Developer Dashboard https://msdn.microsoft.com/en-us/library/office/ff512745(v=office.14).aspx SharePoint Developer Dashbord https://andikrueger.wordpress.com/2016/05/11/sharepoint-developer-dashbord/ (SPWebService.ContentService).SPDeveloperDashboardSettings.DisplayLevel = [On | OnDemand | Off]
  12. SharePoint Manager 2013 https://spm.codeplex.com/ Sometimes allows you to see and modify items that you can’t via the browser and it would take a bunch of code via API
  13. SharePoint Search Query Tool https://sp2013searchtool.codeplex.com/ Works with SharePoint 2013 / 2016 / Online
  14. IFraming SharePoint-hosted pages in apps https://blogs.msdn.microsoft.com/officeapps/2012/12/12/iframing-sharepoint-hosted-pages-in-apps/
  15. IFraming SharePoint-hosted pages in apps (MSDN Blogs) https://blogs.msdn.microsoft.com/officeapps/2012/12/12/iframing-sharepoint-hosted-pages-in-apps/ Permissive XFrame Header http://ventigrate.codeplex.com/wikipage?title=Permissive%20XFrame%20Header
  16. Technique: Use dotPeek to examine code in page load of: * /_admin/createsite.aspx * /_admin/SharePointHNSC/createhostnamedsite.aspx
  17. Technique: Use dotPeek to examine code behind / assembly of: /_admin/createsite.aspx /_admin/SharePointHNSC/createhostnamedsite.aspx Story is more complicated with createsite.aspx because: Assembly is not in GAC, instead at C:\Program Files\Common Files\microsoft shared\Web Server Extensions\16\CONFIG\ADMINBIN\Microsoft.SharePoint.ApplicationPages.Administration.dll HTML element is modified client-side by JavaScript from a hidden form variable, rather than being set from SharePoint web control Microsoft.SharePoint.WebControls:WebApplicationSelector The latter because OOTB page is designed for two contexts, one during Farm Config Wizard Mode
  18. Technique: Use dotPeek to examine code in page load of: * /_admin/createsite.aspx * /_admin/SharePointHNSC/createhostnamedsite.aspx
  19. Plain HTML element not an ASP.NET control or JavaScript
  20. Plain HTML element not an ASP.NET control or JavaScript
  21. Delve deeper into page class’ code behind and assembly
  22. Delve deeper into page class’ code behind and assembly
  23. Delve deeper into page class’ code behind and assembly
  24. Technique: Use dotPeek to examine code in page load of: * /_admin/createsite.aspx * /_admin/SharePointHNSC/createhostnamedsite.aspx