SQL/Server Health Checks

Recently I’ve been asked to develop a set of scripts, plans and reports packaged up as a general server health check, but also with a specific focus on ERP servers, by which we’re interpreting as the Application and Database servers (Microsoft SQL in this case).

The thing is, if you Google “Server Healthcheck” or “SQL Performance Analysis” and everything in between, you will find a large array of sites out there specifically designed for these purposes. Therefore, I am now interperting my task as “analyse the tools already available and package up a selection of the best to add value to our customers”.

As thie self proclaimed king of scripting I have already started my work on a selection of scripts to analyse and build reports on various areas of systems, from the OS level all the way through to the DB contents where required. As always I welcome feedback on things I could be using on this project.

To begin with I’m focussing on the SQL analysis, T-SQL is still fairly new to me, so I’d rather reuse what’s already out there for example Brent Ozar’s SQL Health Check (https://www.brentozar.com/archive/2017/10/free-sql-server-health-check/). I will use the intial out of the box analysis, running it across a variety of systems to see where the standard baselines need adjusting (paramaterization and parallelism anyone?) and then build my own rules and descriptions to better benefit our specific needs. Sounds fun right?

Watch this space as I develop the scripts and reports, the eventual end game would be to run 1 executable/script with a set of predefined constants (server names, user credentials etc) and have a close to complete report out the end of it. If you do know of any sites or tools out there that can help me complete this then please do get in touch @jaward916

 

This and That

Over the last few month I’ve tried to expand my horizons a little bit. Since 2009 I have worked in a few different technical roles, from helping to run data centres, and setup environments for ISV engagements at IBM, to running all systems for a rapidly growing Oracle partner, whilst on the side managing 100 websites including e-commerce sites. That led into my quick stint doing tech support in the Automotive sector before moving into customer facing roles in Jan 2016. Since then I’ve always been running on a few different threads, these have been, loosely:

  • Installs/Config for ERP systems including initial system design
  • Technical training of customers in those ERP systems
  • Technical management of escalated issues (across the world)
  • Cross-team liason for high profile or highly escalated customers
  • Coordination of international team of installations consultants
  • Development of internal tooling for installs/ technical consulting
  • Management of environments for wider team

From my recent posts it’s obvious which areas on that list have received the most focus over the last few months, notably the last two, which is where all the DevOps/Code posts are centred around. The reason so much focus has been on this, and I’ll add at this point a lot of it out of work hours, is because it’s something I enjoy, something I’ve been on the edge of before, and an area of technology that I personally believe we should all be at least aware of, and able to understand the basic principles of.

DevOps was a term coined many years before it became mainstream. Mike Loukides wrote a 20 page book called “What is DevOps” back in June 2012, which is published by the world renowned O’Reilly Media. (http://shop.oreilly.com/product/0636920026822.do) That’s some time before I came across the term, although it seems I was already aware of some of the practices that now come under that umbrella. Back then I was managing E-Commerce sites, writing PHP websites against MySQL databases and moving a very static, cumbersome “tin-factory” infrastructure over to more dynamic, sustainable growth-capable platform. With a little more time and knowledge at that time I would’ve potentially moved in different directions. I am now starting to close that circle a little from the other side.

For me, career development is crucial, I am more than happy to stay with one company, or in one role, but I will always push to make more of myself, learn new things, get involved with everything possible and break down any and all barriers. I don’t do this to benefit myself, I see it as an opprtunity for me to be a benefit to those around me, both customers and colleagues.

Outside of DevOps activities over the recent months I’ve also been working on my presentation skills, with opportunities to present to colleagues and customers about various technical topics, including System Adminstration, upcoming product changes, best practices etc. This is in part due to being given more free reign with my current role, while we work out what my future roles may or may not include, and that’s if any change at all! In the background, the day to role keeps me busy, planning installs, speaking to new customers about how to deploy, speaking to existing customers about upgrades or enhancements to their systems, all the fun stuff that keeps money in the bank and roofs over heads!

The next few months may get a little busy, well hopefully they will, and all the good stuff will be posted when the chances arise.

Virtual Home Server Part 2

Back in November last year, I posted to this blog with the initial setup of my “home” server (https://www.wardnet.co.uk/virtual-home-server/) which in its former life was a Veeam backup server for an SME. This previous life means that it is a very high spec for its age and it may have a few TB of storage to boot! – Storage is an interesting point here as whilst there is around 8TB total (after RAID) it is not SSD or even high end SAS, therefore this space is at the cost of performance. The good thing here, is that performance is not critical to what I am using the servers for, there’s more than enough capacity and performance to deliver media via Plex for local and remote users and deliver reasonable DB performance for testing of installation processes – which currently relates to my day job. Below I have included an image of the VMWare ESXi Dashboard from today, not too much difference to the one I posted back in November other than the number of VMs has increased from 8 to 13 and therefore available storage has gone down by just around half a terabyte:

But that’s boring… what about the VM setup, anything exciting there?

Well let’s take a look:

Therefore, I have a lab domain setup now (wardnet.local) which I am using for testing out various ERP install/config scenarios, including down to the client layer with the last one in the list being a Windows 10 VM.

Four ERP servers I hear you scream, well, yes, rather… ERP2 is now solely an SQL server delivering the DBs for ERP3 and ERP4, with ERP1 being a self-contained SQL and App for the latest and greatest versions. APPS is actually a SharePoint 2013 Foundation server (DB is on ERP2) which is acting as document storage currently for the ERP servers.

I am also utilising my DC as a mail server with hMail and a .Net based webmail service (with mySQL backend) so I do not need a mail client anywhere! – My hMail implementation will be an extra post on here in the not too distant future I hope.

Extrasphere will be a blog post of its own TBC but it is a free cloning utility for ESXi implementations and works quite nicely.

In Summary, this server has allowed me to get my geek on with virtualisation, networking, server hardware and operating systems deployment from an infrastructure point of view, but also it has allowed me to delve back into the Sysadmin side of things, Domain creation, GPO deployments (Windows Updates, Shared Folders, BGInfo and more), mail server management, SharePoint admin etc. In addition, it has strengthened my expertise in the more recent transition into the application side of things, with many ERP deployment scenarios now tested (and scripted), as well as some real world simulations into config and usage of the ERP systems themselves. So now, I have a platform for testing anything, from Hardware tweaks through to Accounts Receivable invoicing!

Level 3 and more

So, after I gained the Level 2 certification in my last post, I soon gained the Level 3 (after a battle on a couple of tough areas)

This now means I have a bunch of certificates showing I am trained in all technical areas of the Epicor ERP 10.1 product, however this does not mean I know the product inside out or can achieve any task asked of me. For that I need experience, and in whatever “spare” time available to me, I am constantly refreshing my knowledge, diving deeper into areas of the system and getting my head around the vast areas of business processes that can run through such a diverse and complex system.

On top of that we’re gearing up for a new release, and the 10.2 version looks set to be a game changer for many areas, and I will be sure to post links to the PR and marketing as I truly believe the new version looks the business! Watch this space…

Day to day I’m still installing and configuring ERP systems for many customers, I’ve lost track of the numbers a little bit, but probably installing 3-4 sites per month, many of these are upgrade projects from legacy versions and we now have fantastic tooling in place to make that journey less painful for the customer. It’s fair to say I’m very lucky having so many skilled and talented people around me, making my day job a lot easier!

Another area I’m very much moving into is training and on-site consultancy. If a customer needs a full system admin training course, or just a refresher then I’m part of a UK team that can now deliver that. To date I have delivered 2 full 2-day courses on sysadmin, and 5+ remote refresher sessions for those who already know the basics (or former versions) and need specific areas covering. System Admin courses include SQL management, ERP application server deployment, usage of Epicor admin tools, performance monitoring and many other areas.

Delivering these training courses is fast becoming one of my favourite things to do as typically I get to talk tech for 2 days with other technical people, enabling them to effectively manage the systems that run their business, regardless of what they actually make or do.

Career & Tech Update June 2017

Somehow I managed to let the last 7 months slip by without so much of an update, so no doubt anyone that usually reads this, no longer does!

However, I like to update this blog in order to note my milestones, especially where my career is concerned. I reference all aspects of the last post Found Here

So far in 2017 I have been pretty much doing what I did in the last 6 months of 2016, working with customers to develop technical solutions around their ERP systems. Primarily I am involved in the initial design and install of ERP environments, by that I mean I sit down with a customer (on a technical level) and discuss the various hardware and software requirements around the product the have already signed of on, mostly this is the Epicor ERP10 solution, which is a world leading product aimed at mostly manufacturing and distribution companies across all sectors. Once a customer has made an informed choice on their physical and/or virtual environment where their new system will sit, I am involved in planning, installing and documenting the base deployment of the system. Typically 4 databases (Live, Pilot, Test and Demo) with a variety of additional elements and solutions such as Web Access, Document Management, External System interfacing etc.

Traditionally that is the point where I stop and hand over to the customer a fully documented base install – note if this is an upgrade project they would have their data upgraded as part of this process too. However, I was set a challenge by my superior, and also by myself, tp go beyond the installations and technical planning stages, to spread my wings and my reach a little bit further, deeper into the product.

And so, after 6 months of mixing the day job as described above, with the other day job of keeping my old “managed services” customers up and running, and a few “tech days” on site at multiple customers; training their IT people on managing the ERP infrastructure with an addition of 9 solid days (spread out) of online classroom training, and additional self-paced learning courses… I am now certified as a  Level 1 Tools Consultant up to the latest released version of ERP10 (10.1.600). 

Whilst Level 1 does sound rather basic, and may even be ridiculed by some, what it has given me over the last couple of months, is an ability to understand and appreciate the inner workings of an ERP system, to finally understand how and why customers do not use these systems “out of the box”. Tools consulting is all about helping tailor a system to a company’s individual needs through the use of inbuilt tooling. I am also fortunate that I work alongside a number of people who go one step beyond this into the custom solutions world where they utilise external tools and code to further enhance the systems. I am no developer, but have always dabbled in code, and examples on this blog from years gone by show the random times when I have explored that side of my technical work. Being able to potentially start consulting on tools related work will definitely allow me to mix all aspects of my career to date, and this hopefully will be a great fit for me, allowing me to further enhance and adapt my career.

Back on my last post in November 2016 I listed a number of areas where I was developing within the IT/Tech world. I’d like to review some of those with an update:

  • SQL Skills – With the release of SQL 2016 and a number of challenges regarding compatibility with various platforms and products, I have yet again become rather adept at installation and configuration of SQL environments. I’m also starting to develop a nice library of useful SQL query snippets, from resetting DB ownership, to replacing strings in fields and backup/restore/overwrite of entire ERP environments!
  • ERP – As discussed above I now have a much deeper understanding of the implementation and usage of ERP systems, recent training has opened my eyes to the worlds of finance and manufacturing processes. I have also branched out further into some specific areas, such as CRM and Field Service setups. More of this to come I am sure.
  • Hyper-V – Not really had the chance to go really hands on with this level of setup, in most cases I advise the customer how to set things up but don’t actually get involved in those stages. That said I’ve fixed a handful of Hyper-V snapshot and backup related issues for multiple customers recently so I have to keep my knowledge up where possible.
  • VMWare ESX – same as for Hyper-V really, although I have some interesting migration/decommission work coming up soon so maybe a watch this space.
  • RDS  – I finally have my RDS customers stable and happy, with good performance and no recent complaints! I’ve also worked on implementations related to handheld warehouse devices and ERP client deployment both on RemoteApp and Desktop Sessions.

Do you remember the Coming up list…

Back in November I listed 3 key areas of focus for 2017, with a little Watch This Space…

It seems that out of the three items, two of them are very real, in fact the whole beginning of this post/story covers the Tools area, the other is Solutions, which as a side note to the day job appear to be my area of expertise. By this I mean i have become the main installation resource for a variety of extended solutions (CRM clients, Document Management Email plugins, Project Management integration etc.), also I have become a suport contact point for these and have had some significant contact around the globe  identifying and troubleshooting issues on these solutions. Basically becoming a human intermediary between Developers and Customers – as we all know Developer’s are beyond human  😉 

My last point was Cloud, and in a way without realising it Cloud is part of every day life at home and work. I need to specifically do more work with it, and have targets set against that, so I hope that by the end of this year I will be able to update in more details on that!.

 

Thanks as always for reading what is by far my longest post!