Customizations in the Service Manager HTML 5 SSP

Microsoft has released a great blog post about customizations that can be done to the Service Manager HTML 5 self-service portal. This article covers the following areas:

  • Title
  • Logo
  • Colors and Tiles
  • Icons
  • New sidebar link

In the article they talk about what is supported and what is not for customizations. They key is that if you make unsupported customizations be sure to back up your customizations. This is because they might be overwritten when an update rollup is applied and Microsoft will not guarantee those customizations will stay intact. This is no big deal if you back your customizations up as you could simply reapply them after an update rollup.

Here is the link to Microsoft’s blog post on this:

https://blogs.technet.microsoft.com/servicemanager/2016/03/15/basic-ui-customization-in-new-self-service-portal-html5/

Now I am writing this blog post for few reasons. #1 There are other customizations that have been blogged about by the community that are not included in Microsoft’s article. #2 I want a central location to document all of the customization articles out there. #3 I am using this as a way to document some of the customizations that I have made for later reference.  Here is the list:

 

Customising the Service Manager HTML5 Portal

This a blog post on general customizations of the HTMK5 portal.

By System Center MVP Steve Beaumont: http://www.systemcenter.ninja/2015/12/customising-service-manager-html5-portal.html

 

HTML5 Portal: Search Query!

This covers changing the Refresh box to Search and adding text to the search input box.

By Ryan Ephgrave:

http://www.ephingadmin.com/service-manager-html5-portal-search-query/

 

HTML5 Portal: Larger Description Text Box

This covers making the text box on forms larger. I know this is a common ask. This is a great blog post to bookmark.

By Ryan Ephgrave:

http://www.ephingadmin.com/service-manager-html5-portal-larger-description-text-box/

 

Display “Must Vote” by the side of the user name on Change Request Activity in the portal

This can be done by doing following changes in Views\MyActvities\ActtvitiyDetails.cshtml (addition & removal) –

<div class=”name col span_6″ style=”padding:1px;”>@Resources.SelfServicePortalResources.Name</div>

<div class=”name col span_6″ style=”padding:1px;”>Must Vote</div>

<div class=”status col span_6″>@Resources.SelfServicePortalResources.Status</div>

<div class=”comment col span_7″>@Resources.SelfServicePortalResources.Comment</div>

<div class=”voted col span_6 grey-text”>@Resources.SelfServicePortalResources.VotedBy</div>

————————–

<div class=”name col span_6″ style=”padding:1px;”>@reviewerItem.Item1</div>

<div class=”name col span_6″ style=”padding:1px;”>@reviewerDetails[“MustVote”]</div>

<div class=”status col span_6″>@decision</div>

<div class=”comment col span_7″ style=”padding:1px;”>@reviewerDetails[“Comments”]</div>

@if (!reviewerItem.Item2.IsEmpty())

{

<div class=”voted col span_6 grey-text”>@reviewerItem.Item2</div>

}

https://social.technet.microsoft.com/Forums/systemcenter/en-US/8c3af275-820d-4663-8165-46364d6e0040/new-html-5-portal-change-control-user-to-approve-info?forum=portals&tduid=(bbc82b3a96d3ba9c69f8efad24f74430)(256380)(2459594)(TnL5HPStwNw-5ocTrJtqN7jv7JWlYxWHgQ)()

 

NOTE: When looking for the code to change search for:

@foreach (var item in formData)

 

Customizations By System Center MVP Steve Buchanan:

GENERAL

clip_image001.png

In the Web.config file change

<!– Customizable fields starts here –>

FOR TITLE CHANGE:<add key=”CompanyName” value=”Buchatech Self-Service Portal”/>

FOR PORTAL LOGO (COMPANY LOGO) CHANGE: <add key=”CompanyLogoLocation” value=”../Content/images/System Center_Cloud_Logo_Transparent.png”/>

FOR NUMBER CHANGE:<add key=”ITPhone” value=”562-309-4042″/>

FOR EMAIL CHANGE:<add key=”ITEmail” value=”support@buchatech.com”/>

You will notice on my side menu I do not have email address and instead of an IT phone number I have “Service Desk Contact Info:” and my Powered By logo and text are custom.

clip_image002.png

To change these go to:

C:\inetpub\wwwroot\SelfServicePortal\Views\Shared

And modify the Sidebar.cshtml file.

Find “<div class=”side_nav_bottom”>” and modify:

<div class=”side_nav_report”>

<div>@Resources.SelfServicePortalResources.PoweredBy :</div>

<img src=”~/Content/images/PrivateCloud_logo1.png” alt=”Private Cloud” style=”max-width: 12em;” />

<br /><br />

I COMMENTED OUT THE DEFAULT TEXT HERE:    <!–<div>@Resources.SelfServicePortalResources.CantFindSolution</div>–>

<!–<div>@Resources.SelfServicePortalResources.ContactUs</div>–>

I ADDED MY OWN TEXT HERE:     <div>Service Desk Contact Info:</div>

</div>

<div class=”row side_nav_phone”>

<span class=”icon-Phone icon-pos icon icon-medium”></span>

<span class=”icon-text icon-text-pos”>@System.Web.Configuration.WebConfigurationManager.AppSettings[“ITPhone”]</span>

</div>

<div class=”row side_nav_mail”>

<span class=”icon-Mail icon-pos icon icon-medium”></span>

<span class=”icon-text icon-text-pos”>@System.Web.Configuration.WebConfigurationManager.AppSettings[“ITEmail”]</span>

</div>

 

NOTE: Company logo image works best as 32×32.

NOTE: Powered by logo image works best as 36×26.

All images should be stored in: C:\inetpub\wwwroot\SelfServicePortal\Content\images

ICONS

In C:\inetpub\wwwroot\SelfServicePortal\Content\CSS you have to edit the main.css file.

In this file find the [class^=”icon-“].icon-medium{ section.

Here you will see all the font icons. You can add the font icons you want to be available for use in the portals CSS. In the following screenshot I have highlighted the fonts I have added.

Iconsinmaincss

As stated on the Microsoft blog post you can find the icons that will work with the portal here:

http://modernicons.io/segoe-mdl2/cheatsheet

In the following section I will mark the font icon placement in custom links in blue. This way you can see how they would be used.

SIDE BAR LINKS

In my portal I added some custom sidebar links.

2016CustomlinksonBuchatechSSP02

In C:\inetpub\wwwroot\SelfServicePortal\Views\Shared

Modify the Sidebar.cshtml file.

In the file under “<div class=”side_nav_bar col side_menu”>”

I added the following:

<!– Custom IT Portal Link Begin –>

<div class=”row side_nav_IT Portal” accesskey=”I” tabindex=”4″ data-toggle=”tooltip” title=”IT Portal”>

<a href=”http://portal.buchatech.com” target=”_blank”>

<font color=”white”>

<span class=”icon-PreviewLink icon icon-pos icon-medium”></span>

</font>

</a>

</div>

<!– Custom IT Portal Link End –>

And

<!– Custom Change Calendar Link Begin –>

<div class=”row side_Change Calendar” accesskey=”C” tabindex=”9″ data-toggle=”tooltip” title=”Change Calendar”>

<a href=”http://portal.buchatech.com/_layouts/15/start.aspx#/Lists/Change%20Calendar/calendar.aspx” target=”_blank”>

<font color=”white”>

<span class=”icon-CalendarWeek icon icon-pos icon-medium”></span>

</font>

</a>

</div>

<!– Custom Change Calendar Link End –>

 

In the file under “<div class=”side_nav_bar_expand col side_menu”>”

I added the following:

<!– Custom IT Portal Link Begin –>

<div class=”row side_nav_IT Portal”>

<span class=”icon-PreviewLink icon-medium icon icon-pos”></span>

<span class=”icon-text icon-text-pos”><a href=”http://portal.buchatech.com” target=”_blank”><font color=”white”>IT Portal</font></a></span>

</div>

<!– Custom IT Portal Link End –>

And

<!– Steve Change Calendar Link Begin –>

<div class=”row side_nav_Change Calendar”>

<span class=”icon-CalendarWeek icon-medium icon icon-pos”></span>

<span class=”icon-text icon-text-pos”><a href=”http://portal.buchatech.com/_layouts/15/start.aspx#/Lists/Change%20Calendar/calendar.aspx” target=”_blank”><font color=”white”>Change Calendar</font></a></span>

</div>

<!– Steve Change Calendar Link End –>

 

Here is the Microsoft link for adding sidebar links:

https://blogs.technet.microsoft.com/techlazy/2016/03/13/service-manager-new-html5-portal-basic-customizations-55-new-sidebar-link/

 

COLORS LOOK AND FEEL

Custom Buchatech look and feel:

clip_image004.png

Default look and feel:

clip_image005.png

Read more

Cannot Edit SCSM 2012 R2 UR9 Exported Management Pack in Authoring Tool

I recently ran into a problem where I could not edit a SCSM 2012 R2 UR9 Exported Management Pack in the Service Manager Authoring tool.

When I tried to open my exported MP in the authoring tool it is looking for this file:

Microsoft.EnterpriseManagement.ServiceManager.UI.Authoring.mp

version:

7.5.3079.442

I got this error:

clip_image001.png
Click to enlarge image

The Microsoft.EnterpriseManagement.ServiceManager.UI.Authoring.mp file

does exist in the authoring tool directory here:

C:\Program Files (x86)\Microsoft System Center 2012\Service Manager Authoring\Library

but it is an old version of the Microsoft.EnterpriseManagement.ServiceManager.UI.Authoring.mp file.

The authoring tool has not been updated with the newer management pack files yet. To work around this I opened the exported management pack in Notepad ++ and I searched for the referenced MP “Microsoft.EnterpriseManagement.ServiceManager.UI.Authoring”.

It should find a section like this:

<Reference Alias=”UIAuthoring”>
<ID>Microsoft.EnterpriseManagement.ServiceManager.UI.Authoring</ID>
<Version>7.5.3079.442</Version>

Here I changed <Version>7.5.3079.442</Version> to <Version>7.5.1561.0</Version> and saved the MP.

7.5.1561.0 is an old version that is what the authoring tool is using.

After that I was able to open the MP in the authoring tool.

Read more

Patch Management Integration with Service Manager & ConfigMgr

Back in November I presented a session on automation at MMS 2015 with Natascia Heil. The session was “Real world Automation with Service Manager and Azure Automation”.

As a part of this session Natascia Heil demo’d how to patch servers in SCCM via Service Manager! Essentially she was able to create a change request in Service Manager pulling in a software update and device collection into the change request and then Orchestrator talked to SCCM to apply the patch to the server.

This is awesome because it brings ITIL into the patching process and gives you a way to document applied patches and who applied the patch.

As a follow up to our session she has published a step by step post on the solution from the demo, the files used in the demo, and a complete video demoing the solution. This is another example of great community involvement in the System Center space as well as the kind of content you will see at MMS. Thanks Natascia for sharing this with the community.

Watch the video here:

Visit her blog post here:
https://systemcentertipps.wordpress.com/2015/12/18/orchestrator-2012-start-server-patching-from-service-manager/

Download the solution files here:
https://gallery.technet.microsoft.com/Patch-servers-with-SCSM-20ff1c66?tduid=%281b41a0287eb092bdef4fbcdd40d042b0%29%28256380%29%282459594%29%28TnL5HPStwNw-P.Z5y4TYC73yMs5ovpkyAA%29%28%29

Read more

SCSM HTML 5 Portal Hotfix (KB3124091)

On December 11th 2015 Microsoft released a hotfix for a bunch of issues with the new SCSM HTML 5 portal along with some new features. Here is the link to this: https://www.microsoft.com/en-us/download/details.aspx?id=50362

In this post I will explore some of the new features in PART 1 and describe my experience applying the hotfix in PART 2.

PART 1

New features include:

Nested enumeration lists are now supported inside the Request offering forms

NOTE: This was a feature I asked for and I am very happy to see this. When I setup Service Manager notifications I typically pull in the portal URL for certain things such as request offerings or work items. This makes it really easy for the end user to reach what they need right from an email. Below I will show some examples of what the direct links look like.

Portal now allows you to share and access different objects inside the portal with direct URLs. You can refer individual items inside the portal with following URL formats –

Request Offerings:
https://[website_name]/Home/Makeform?BMEID=[bme_id]

NOTE: Notice in the screenshot I am linked directly to http://scsmportal.buchatech.com/Home/Makeform?BMEID=41778bb9-78f9-c21d-6fcc-000069f87c13 vs the default http://scsmportal.buchatech.com/Home/Makeform. I could send someone this link and bring them directly to the RO.

Without Direct Link Direct Link
 SCSMSSPHF1  SCSMSSPHF2

NOTE: Notice the two following screenshots show a direct link for an Incident and Service Request. These do not contain the side navigation of the portal.

Incident type requests:
https://[website_name]/MyRequests/RequestDetails?type=IncidentRequest&id=[incident_id]

SCSMSSPHF3

Service Request type requests:
https://[website_name]/MyRequests/RequestDetails?type=ServiceRequest&id=[service_request_id]

SCSMSSPHF4

Manual Activities:
https://[website_name]/ MyActivities/ActivityDetails?type=ManualActivity&id=[manual_activity_id]

Review Activities:
https://[website_name]/ MyActivities/ActivityDetails?type=ReviewActivity&id=[review_activity_id]

Help Articles:
https://[website_name]/KnowledgeBase/article/[id_of_knowledge_article]

Fixes include:

  • Affected user and Created by user is getting set to the service account
  • Query type form element is not working for the Incident and User classes
  • Request Offering forms are failing to load if a Query type form element is part of the form
  • Username token is not passing values to the mapped field
  • Cancelling request form does not work
  • Text is overlapping for long strings inside the list in the middle pane
  • Related activities inside My Requests always show state as active
  • Filters inside My Requests and My Activities is not working for some languages
  • Announcement is showing “Invalid Date” in Expired Date column for some languages
  • Comments in the request are using incorrect class
  • Required (mandatory) restriction is not working on query type form element
  • Query form element allows multiple selection even when it is configured for single item selection
  • Scroll bar does not work on some lower screen resolutions
  • Double scroll bar appears while browsing Help Articles
  • Some areas of portal are not rendering in Mozilla Firefox web browser
  • My Activities shows 0 instead of removing the notification sticker when no activity is in progress
  • With SSL enabled, the browser regularly prompts the message “Only secure content is displayed” with a button to “Show all content” while browsing the portal
  • “Added by” inside the action logs show domain\username instead of the display name of the user

NOTE: There are some outstanding issues. The Service Manager team is going to have the remaining issues fixed with the next Update Rollup release.

 

PART 2

My Experience:

In this post I will describe my experience applying the SCSM HTML 5 Portal (KB3124091) Hotfix.

I first took a complete backup of my SelfServicePortal directory and stored this somewhere safe. This directory can be found in <DRIVE>\inetpub\wwwroot\SelfServicePortal\.

Downloaded the hotfix and ran the executable on my portal server. This was an easy click through of a wizard. There was no errors with this.

After this completed I verified that the hotfix was applied by checking for Hotfix for Microsoft System Center Service Manager R2 Self Service Portal (KB3124091) in Programs and Features>Installed Updates in Control Panel.

NOTE: I noticed that when the hotfix was highlighted it did not have an option to uninstall.

SCSMSSPHF10

I then restarted my portal server.

When the server came backup I went to access my portal and was receiving the following error.

SCSMSSPHF5

From the image you can see that it was basically telling me I did not have any Service Offerings. This was not true. I went to my Service Manager to double check and make sure that my Service Offerings were still intact and they were. I saw it was looking for the Service Offerings in the Offerings.cshtml file.

Next I went to my backup in SelfServicePortal\Views\Home and copied the Offerings.cshtml file to SelfServicePortal\Views\Home on the portal server. I ran an iisreset from an elevated command prompt after that my portal was working again.

First thing I did was check my navigation as I had a custom navigation link and it was still there along with my custom look and feel. See the following screenshot.

SCSMSSPHF6

Even though the home page of my Service Catalog was working when I clicked on anything such as My Requests, Help Articles, my Service Offerings I received messages that these things were missing. See the following screenshots with the errors I received.

My Requests erroring out:

SCSMSSPHF7

Help Articles erroring out:

SCSMSSPHF8

I started fixing these one by one by copying in the source files from my backup. Everything was broken so I decided to copy in all the folders from backup in the SelfServicePortal\Views folder to the portal server. I then ran an iisreset checked the portal and everything was working.

SCSMSSPHF9

NOTE: I did not copy over _ViewStart.cshtml or Web.Config.

So the point of this post is backup your old SelfServicePortal directory before you apply the hotfix. And after you apply the hotfix you may need to copy the subfolders from the SelfServicePortal\Views folder if you run into errors.

Read more

Service Manager Service Desk Ticker

Have you ever wanted a way with Service Manager to send out a notification to end users? Yes you can do this via email or some other method but how about displaying the notification directly on their computer so that they cannot ignore it. Well Cireson has created a Service Desk Ticker app that does this. Here is the official description of the app from their site:

Out of the box, Service Manager allows you to create announcements, such as “Email is down, Internet is not working, maintenance in Building 2, Floor 4”, but doesn’t actually let you communicate those announcements to your organization in any way. The Service Desk Ticker app enables an analyst to create an announcement within Service Manager and communicate those announcements directly to an employee’s computer in real-time.

This is pretty cool and the best part is that this app is free. One of my recent clients needed such a tool so I try out this app. The app consists of three files and a very easy install process:

Cireson.Ticker.App.Setup.msi – A client MSI that needs to be installed on end user computers. This is what displays the notification to the end users.
Cireson.Ticker.App.Admin.mpb – Is the management pack that needs to be imported into your Service Manager.
Cireson.Ticker.App.Workflows.dll – This needs to be copied to your Service Manager server.

You can even do a silent install of the client MSI file using a tool such as SCCM. Here is the syntax for that:

Cireson.Ticker.App.Setup.msi CONFIGPATH=”\\yourserver\yourshare\your folder” CHECKINTERVAL=60 /q

Here is my install experience:

I created a share for the SD Ticker app like \\ServerName\SDTicker and gave it the following permissions I gave domain users read access and the SCSM Workflow account full rights on the share.

SDTicker1

I imported the (Management Pack) MPB file into my Service Manager.

SDTicker2
I copied the Cireson.Ticker.App.Workflows.dll to C:\Program Files\Microsoft System Center 2012 R2\Service Manager on my Service Manager management server.
I closed the SCSM console and launched it again.
I then went to Administration>Settings and opened Cireson Ticker App Settings.

SDTicker3

The following screenshot is what the Cireson Ticker App Settings look like. Be sure to put in your share path here and tick the Enable Announcement Processing as this is what makes your Service Manager announcements show up on the end users’ desktop. Also check the Include Announcement Priority if you want to include the priority level with announcements.

SDTicker4

Now on a client computer I went and installed the Cireson.Ticker.App.Setup.msi. Here is what this looked like:

SDTicker5

SDTicker6

On this next screen I had to put in the path to the share I setup earlier. This is where it will definitely be faster and more efficient to deploy the client using the silent install.

SDTicker7

SDTicker8

SDTicker9

And the install should finish successfully.

SDTicker10

Testing the App:

Then I went back to Service Manager and created a new announcement to test the ticker app. To do this from the SCSM console go to Administration>Announcements>Active Announcements and click on Create Announcement.

SDTicker11

After the announcement is created it will display on the end users computer when the workflow runs on the next 60 second interval.

To check the workflow go to SCSM Console>Administration>Workflows>Status. Filter on “Cireson Ticker App Announcement Create Workflow“. In the bottom of the workflow pane click on All Instances and then click on View log. This will open up the status about the workflow so you can make sure it is running. You will be able to see the last time it ran.

SDTicker12

Boom there it is, the announcement on my client.

SDTicker13

In case this is not working for you here are some troubleshooting steps:

  • Make sure you are seeing this “Cireson.Ticker.App.Announcements.xml” file in your share.
  • Double check your permissions are correct on the file share.
  • Double check the share path is correct both in Service Manager in the Cireson App Ticker Settings and in your client.
  • Make sure the client app is running on the client computer and monitoring for announcements. You should see Cireson Ticker App Client running as a process in Task Manager in the task bar.

SDTicker14

  • If it is not running you can click on the app’s .exe here: C:\Program Files (x86)\Cireson\Cireson Ticker App to launch it. NOTE: It does automatically start at Windows logon.

SDTicker15
Well I hope you enjoyed this post.

You can download the free Service Desk Ticker App here:

http://cireson.com/apps/service-desk-ticker/

Read more

Update: Custom Service Request Area (CSRA) v3

Back in 2014 I published a management pack (MP) named Custom Service Request Area (CSRA) v2 for Service Manager. The CSRA MP gives you a custom Area list for Service Requests. Here is a link to the original post: https://www.buchatech.com/2013/10/custom-service-request-area/.

I recently updated this management pack. I reduced it from two MP files down to one MP file and added 15 generic user inputs to this. With the v2 version of the CSRA MP admins had to customize the Service Request form to add their own generic user inputs. This required modifying the CSRA MP to modify the form. I added these user inputs so that admins will no longer need to do that.

15UserInput

Here is the link for the updated MP. CSRA is now v3.

http://gallery.technet.microsoft.com/Custom-Service-Request-e4d40738

Also in this blog I want to call out the process I commonly use to build the request area list. I use a tool from a talented colleague of mine Rob Plank named the Enum Builder. This is a GUI based tool that can be used to create a list in an MP file that can be imported into Service Manager. It creates the MP file from a CSV file that you populate. This makes building lists in Service Manager very easy.

The Enum Builder can be downloaded here:

https://gallery.technet.microsoft.com/Service-Manager-Enum-43e30552#content

Here is a blog on how to use the tool:

http://www.concurrency.com/infrastructure/service-manager-create-list-items-using-enum-builder/

Ok now onto using Enum Builder with the CSRA management pack. So building the list for the CSRA is slightly different compared to other MP’s. With the CSRA MP you need to know some key pieces of information. These are:

Enum MP ID: ServiceRequestAreaOverwrite

Version: 1.0.0.10

PublicKeyToken: b0ee85f41e7f3f91

These are highlighted below in a screenshot of the Enum Builder tool.

EnumBuilderScreenshotforCSRA

You also need to make sure you have the correct value for EnumerationValue ID in your CSV file. You will want to use “RequestAreaCustom” for this. Here is a screenshot of an example CSV file.

CSRA-CSV

So to sum this up. Build your CSV, fill out the fields in the Enum Builder tool, create your list MP file, import into Service Manager and you will have your own custom area list for Service Requests.

Read more

2015 MVP Summit and MMS 2015

The past two weeks have been full of tech awesomeness. The first week was the 2015 MVP Summit and the second week was MMS 2015. I will recap both of these in this post. Well for the MVP Summit I can’t actually say anything about it but I can post a couple of cool pictures from it. 🙂 Here are some pics from the Summit.

With PowerShell MVP Trevor Sullivan and my roommate/friend CDM MVP Jakob Svendsen during breakfast.

With the man! Mr. OMS/System Center Jeremy Winter.

Good discussion with a bunch of smart guys. CDM MVP Stanislav Zhelyazkov (Stan the man), CDM MVP legend Cameron Fuller, and CDM MVP Jedi Dieter Wijckmans.

Read more

2 Sessions at MMS 2015

I am late posting this but better late than not at all. Next week I will be presenting at MMS 2015 on November 9th and 11th. In this post I will break down what each session is about. This is the second year of the community powered MMS event. The Midwest Management Summit is a 3-day conference purposely capped to just 500 attendees so that nobody gets lost in the crowd. Almost 60 Microsoft MVP’s will be presenting on System Center, cloud, PowerShell topics and more.

Areas the speakers will be presenting on are Operations Management Suite (OMS), Enterprise Mobility Suite (EMS), Operations Manager, Configuration Manager, Orchestrator, Service Management Automation, Azure Automation, Service Manager, Data Protection Manager, Azure Backup, Azure Pack, Azure Stack, Hyper-V, Nano server, PowerShell, Desired State Configuration and more. I am lucky to be co-presenting with two awesome System Center experts Natascia Heil @NatasciaHeil and Chiyo Odika @mrchiyo. The first session I will be presenting is:

-Real world automation with Service Manager and Azure Automation-

Here is what to expect from this session:

Automation is not only requesting and building virtual machines through Service Manager and Orchestrator. Automation can do much more and Service Manager can be combined with Microsoft’s other automation tools such as SMA, Azure Automation, and DSC. This session will teach you how to identify areas of automation in your company. It will cover automation fits in the ITIL story. It will also show some real life automation examples utilizing Microsoft newest automation tool (Azure Automation) and Service Manager.

We have two demo’s planned for this session. The first demo will show how to use Service Manager and Azure Automation. The second demo will show automating patch management using SCCM, Orchestrator, and Service Manager’s change management.

clip_image001

Link to this session:

http://mms2015.sched.org/event/bc3ffcd6aaaaef9a5e765493a0e6527f?iframe=no#.VjsTBeJcxps

The second session I will be presenting is:

-OMS Strategies and Notes from the Field-

Here is what to expect from this session:

OMS is a comprehensive web-based cloud IT Management solution with monitoring, automation and other features and solutions that will provide you with greater control and new capabilities across your hybrid cloud.

In this session, you will learn about strategies for getting the most out of OMS, best-practices, and learn from our extensive experiences in the field, deploying, configuring, and troubleshooting OMS.

clip_image002

Link to this session:

http://mms2015.sched.org/event/a4fb2e8bd31e7cab0de55695f9ec48a1#.VjsTCOJcxps

For more information on MMS 2015 and a full list of speakers and sessions visit:

http://mmsmoa.com/

Read more

Unpacking The Operations Management Suite Android App

A while back there was a suggestion on Azure Operational Insights (Before renamed to Operations Management Suite) User Voice for an Android APP. You can see that here: http://feedback.azure.com/forums/267889-azure-operational-insights/suggestions/6686744-android-mobile-app . This would allow us to access our OMS data from our Android mobile device! It is no secret I am an Android user so I was excited for this. On the User Voice thread Microsoft commented that we could expect an app in the fall of 2015. Well on October 15th one of my colleagues Rob Plank tweeted that there the OMS Android app was available in the Android market (https://twitter.com/rob_plank/status/654706738222907392). They kept their word and now we have an Android App for OMS! In this post we are going to take a tour of the new OMS Android App.

On your phone you can search Google Play for Microsoft OMS or click this link Operations Management Suite to find the app. Go ahead and install it.

clip_image001

Once installed you will find it with your other apps.

clip_image002

You can also place a shortcut to it on one of your main screens.

clip_image003

The first time you launch it you will need to either sign in or sign up.

clip_image004

Here is a screenshot of the sign in screen.

clip_image005

After you are logged in you need to select your workspace. You can see that I have 3 workspaces. Yes only a true geek would have multiple workspaces in OMS. LOL

clip_image006

After selecting your workspace you will have a similar look and feel to the web based version of OMS. You will also notice 3 main areas Dashboard, Overview, and Search. The first one you will land on is Dashboard. To access the other 3 main areas just scroll to the right. NOTE: I did not see a way to add solutions to OMS from the mobile app. You will need to do this from the web application itself.

The Dashboard view is equal to My Dashboard in the full OMS web application. So whatever you added to your My Dashboard is what you will see here.

 

Android OMS App Full OMS Web Application
clip_image007 clip_image008
clip_image009

Now if we go the Overview area this is the same view as we have on the full OMS web application. Overview has the solutions that you have added to your OMS. To see them all just scroll down.

Android OMS App Full OMS Web Application
clip_image010 clip_image011

You will notice the Searches view also matches what is in “Log Search” in the full OMS web application.

clip_image012

Read more

Blog Dive: SQL Protection with DPM

Background for this post

Since version 2006 DPM has been able to protect SQL databases. Often in environments that are using DPM I still see they are using DPM for backup of all workloads but not using it for SQL backups. There are reasons for this such as a lack of understand of how DPM protects SQL or lack of trust in DPM to protect SQL. The goal of this blog post is to lay out why you would want to use DPM to backup SQL, what SQL versions and functionality (such as AlwaysOn) are supported, what happens under the hood when DPM protects SQL and that you can use DPM as your sole solution for protecting SQL. This is an effort to convince those that don’t use DPM for SQL Backups today to start using it or those that don’t trust DPM for SQL backups that it is a great option to consider. This blog post is targeted directly at DBA’s or DPM admins that need to give information about SQL protection to their DBA’s.

One major challenge I had when I set out to write this blog post is that I am not a DBA or a SQL expert. So I don’t have any SQL “street cred” so I needed to fully understand what a SQL DBA would require to ok DPM being the sole backup solution for SQL in an organization.

I have the fortunate opportunity to work with an awesome SQL MVP named Jes Borland at Concurrency. As a part of my research for this blog post I reached out to Jes Borland to have a discussion around SQL protection. One of the important questions I asked her was “What things do you look for in a SQL backup solution?“. Her response was “What I look for in a backup tool: the ability to do all types of SQL Server backups – full, differential, log, copy-only. Ability to take advantage of built-in backup compression.” as well as “As a DBA, my main question is, “How do I restore?“. This was perfect as they are key things I should look out for to make sure DPM can do.

Now that we covered the background let’s look at what DPM can do when it comes to SQL protection.

Why would you want to use DPM to backup SQL?

  • DPM understands SQL and was designed to protect the advanced configurations of SQL.
  • DPM can protect SQL up to every 15 minutes.
  • Reduce potential conflicts between backup tools and schedules of SQL protection.
  • DPM can protect SQL at the instance level or the database level. When protection at the instance level is turned on DPM will detect new databases on that instance and automatically add them to protection.
  • DPM is an affordable option for protecting SQL. It is a good fit for small SQL shops and can scale for large enterprise SQL shops.
  • DPM has self-service recovery of SQL databases using the Self-Service Recovery Tool (SSRT) that can be extended to DBA’s.

What SQL versions and functionality does DPM support?

Versions:

  • 2005
  • 2008
  • 2008 R2
  • 2012
  • 2014

Functionality:

SQL Clustering

When protecting a SQL cluster DPM is cluster aware. DPM is aware of the clusters identity as well as the nodes in the cluster. In a SQL clustering scenario if the SQL Server is changed to a different node, DPM will continue to protect the clustered SQL without any intervention from backup administrators.

SQL Mirroring

If the SQL you are protecting is mirrored DPM is aware of the mirrored databases and will protect the shared data set properly.

SQL Log shipping

In scenarios when SQL log shipping is being used DPM will automatically discover that log shipping is being used and DPM will auto-configure itself to co-exist ensuring proper SQL protection.

SQL AlwaysOn

When protecting SQL AlwaysON DPM will automatically detect Availability Groups and detects when a failover occurs and will continue protection of the database.

What happens under the hood with SQL protection in DPM?

Protection:

When SQL protection is first setup an express full copy of the database is created and this is the initial backup of the database. Express full backups bring over block level changes of the databases themselves. This would be the entire database on the very first backup.

Express full backups leverage a filter technology. This filter technology is what identifies changed blocks instead of needing to read all of the data or use checksums. This filter technology is known as volume shadow services (VSS). Specifically the SQL Server VSS Writer is used during SQL protection. This does two things: DPM backup of SQL will not impact databases and it will only backup changed blocks after the initial backup of the database reducing the storage footprint. Backing up the block level changes also has a significantly lower impact of the protected server during backup.

After the initial backup of the SQL database DPM will perform subsequent express full backups and synchronizations between the express full backups. Synchronizations copy over SQL Transaction logs. A recovery is possible from both an express full and synchronization backups.

DPM can be set to protect SQL databases as often as every 15 minutes so that you can have frequent protection of SQL throughout a day. As a part of the DPM SQL protection recovery points are created for each incremental synchronization and express full backup. DPM can maintain up to 512 shadow copies of a full SQL Server database(s) by storing only the differences at the block level. In a scenario where you have one express full backup per week, stored as one of 512 shadow copy differentials between one week and the next, plus 7 days x 24 hours x 4 (every fifteen minutes), DPM would have over 344,000 recovery points (what you restore from) of SQL.

The following screenshot is an example of SQL protection in DPM. The top half in red shows an example of auto protection of SQL at the instance level while the lower half in blue is an example of individual database protection.

clip_image001

Truncating SQL logs:

DPM does truncate the SQL transaction logs as a part of the backup process. DPM truncates the logs (creates empty space inside the transaction log) after each synchronization.

Note that if the synchronization is set to a long window of time such as 12 hours the transaction log could grow to large for truncating and will need to be shrunk. So general rule is to keep the synchronization’s closer together.

To shrink the SQL transaction logs this needs to be done manually or using a SQL Maintenance job. This could always be done using a Pre-Backup/Post-Backup script.

Now if “Just before a recovery point” is selected in the protection group then the synchronization (incremental backup) will not be scheduled to run. Configuring this way tells DPM that only express full backups should run. Transaction logs will not be truncated by DPM in this scenario.

Recovery:

A good friend of mine System Center MVP Robert Hedblom always says “backup is about the restore”. I subscribe to the same principle in that “restore should always be the focus of any backup solution”. In a disaster recovery situation DPM can be used to restore from a loss of the database down to within 15 minutes of the failure. DPM can recover the database to original instance, a separate instance to a folder, or even copy to a tape. You can see those options reflected in the following screenshot:

clip_image002

When recovering to original SQL instance or a alternate SQL instance you can specify what state you want to leave the database in. Restoring the database in a non-operational state will allow you the ability to restore transaction logs in addition to the database restore.

clip_image003

You also have the option to specify where you want to place the database files (.MDF) and log files (.LDF) during the restore.

clip_image004

The DPM Self-Service Recovery Tool (SSRT) can be deployed on the client computers of the DBA/s. When recovering a database using the SSRT the experience is much like it is when recovering directly from DPM. When the New Recovery Job button is clicked a Recovery Wizard window will open with the same options as recovering directly from DPM. A screenshot of the SSRT shown below displays the UI with a restore job that has completed.

clip_image005

Details of a recovery job in the SSRT are shown in the following screenshot.

clip_image006

Hopefully this article has shed some light on SQL protection with DPM and will help you consider using DPM to protect your SQL instances/databases. For further information on SQL protection with DPM visit the following links on TechNet:

Read more