#SqlSaturdayDenmark Re-Cap

Finally able to sit down, in quiet peace and write about my experience this weekend. Since Friday morning, the last couple of days have been rather hectic.
It started out with me moderating an excellent session by Margarita Naumova (b|l) on Top 8 Reasons for Your Transaction Performance Problems in the PASS Summit Preview of 24 Hours of PASS. Rest of the day do normal work chores, only to set up the family for the weekend, so I could go with peace at mind.

Friday evening I attended the Speaker Dinner at Copenhagen Street Food, which was quite a unique experience. Although I didn’t find that the food matched the prices, there was a distinct buzz to the place, that I doubt will be found anywhere else (at least not in Copenhagen). The company was brilliant, and that was what mattered. I met a good handful of people I knew from Twitter in advance, so meeting face to face was long overdue.

 

Just home in time for som hours of sleep, before heading to the venue, early Saturday morning. Having dealt with all of the attendees, we sent them off to the first batches of sessions – enjoying a moment of tranquility. Lesson for next year: Reconsider speed pas.

During the morning hours there was only some minor issues that needed attention, so all in all I had good time to allow for preparation for my own session on MDX. Slides and Code examples are available from the SQLSaturday site. The session went well, at least according to my own sence, but I am hoping the attendees will be evaluating the session, if they attended. Evaluations are really important, in order to grow as a speaker.

After my session, things began to happen quite rapidly. Due to logistic challenges in the house hold, I had to pick up the #sqlbrew at home. I also had to be present, because the guy with the hotdog stand, expected me to be there. Kenneth M. Nielsen (b|l|t) allowed me to use his car, and there I was, for the first time with automatic drive. Maybe this could get ugly, with all the beers and all. Somewhere in my mind I began piecing together, the story for the Cops, if they should find me crashed with 400 bottles of beer… I must say, my left foot treated the brakes as clutch on the way out, to much amusement of pedestrians… But the beer arrived safely. After the full schedule of sessions was over, everyone gathered for the big sponsor raffle – great prices in the pool: Several drones, licenses, books etc.

In the end, I think everyone was happy – the volunteers and organisers had done as smashing job on creating a great event, yet another one. According to leaked info on session feedback, we have quite a high average rating – that is really exiting.

Late Saturday we sent everyone home with hotdogs and our own #sqlbrew

 

 

Loading

SqlSaturday Cambridge, #SqlSat411, re-cap

Early Friday morning, I left Copenhagen for my second SQL Saturday in Cambridge. Two years ago I had a blast at same event, as documented here. My expectations were high, but I was completely blown away by the work and preparation that had gone into the event. I apologize in advance to those who are attending the SQL Saturday in Copenhagen next weekend, we cannot provide the same level of experience I am afraid. A huge effort was made by the team, so hat tip to them!

After arriving at the DoubleTree, down town Cambridge I hooked up with Johan L. Brattås (b|l|t) and Boris Hristov (b|l|t) to walk the streets and see the impressive sights (mostly colleges). Spending the afternoon in good company was topped of with the most amazing dinner settings at the Gonville & Caius College, where a team of servants had a dinner lined up, with millimeter precision.

Up early on Saturday  morning, to get to the venue, I even had to wait for the hotel to have breakfast ready – I knew I had to have something to eat, because normally the lunch bags at these events are…erhh…scanty, to last for a whole day at least. Speaking of the venue, I also need to mention that it was absolutely fabulous for events such as this – kudos to the team for snagging this. On another note, it was not until I saw the picture on the wall, that I made the connection – it has Maersk written all over it 🙂

I didn’t get to see much of the other sessions, as I was preparing for my own. Introduction to MDX was executed way better than Scaling out Analysis Services, but I guess you learn as you go – apologies to the two (2) attendees for the latter one – I hope you enjoyed the ten minute early break 😉

After the almost unbearable exitement at the raffle – volunteers, organisers and speakers went punting, as depicted below:

If ever in Cambridge, you should definately do this – get a guided tour, as they know all kinds of odd stories that add to the image of Cambridge. Cambridge, where I certainly hope I have not set foot for the last time. Well done Mark and Team.

Loading

T-SQL Tuesday #68: Go with your own Defaults

tsql2sday150x150This months T-SQL Tuesday is hosted by Andy Yun (b|t|l) and the invitation is found following this link.

T-SQL Tuesday was started by Adam Machanic (b|t), and this is the SQL Server community’s monthly blog party, where everyone is invited to write about a single common topic.

When I first read through the “assignment” a cold sensation ran down my spine. Of course! – all the cool guys (m/f) have checklists and maybe even scripts they run, when taking on a new setup. I don’t have any of that, yet. Although I have been working with SQL Server for more than a decade, I have not been cool, calm and collected enough to actually keep a goodie bag of “must apply changes”. Most of the cases I worked on as a consultant, always seemed to have a sense of urgency to them. Such urgency, that there really wasn’t time to collect such checklist of what worked and when. This to much regret. A good part of my tricks have been incorporated into Effektor (self-service Data Warehouse), which I was fortunate enough to work on for more than three years. But, since I no longer hold a license for Effektor, that quick win is not an option.

In my current position, most of my work is to advice on platform settings across Windows Server, SQL Server (incl. Analysis Services, Integration Service & Reporting Services), Team Foundation Server and Sharepoint 2010 (currently upgrading/migrating to 2013) within the BI division of Maersk Line IT. I am very much looking forward to seeing the checklists of all the others doing a post for this TSQL2SDAY. Actually I get the feeling of free loading all the cool scripts, tips and tricks that are to come from this blog party.

As I am writing this blog post, I am half way through an excellent book by Ravikanth Chaganti (b|t|l) called Windows PowerShell Desired State Configuration (DSC). As the title gives away, the topic is PowerShell and Desired State Configuration which enables a declarative way of scripting how you want your service environment setup. The only thing that puts me off in this book, is the parts where you yourself have to explore options that are not described in detail. To me it’s an odd half baked way of writing. Other than that it a great resource. Cudos to Ravikanth.
Find other, free, training resources here, here, here and of course on channel 9.
Update: Mike Fal (b|t|l) has this exellent blog post on the topic as well.

Even though I am only half-way through the book I see a wide range of areas where I can apply this technology. In my current situation, getting changes through to our production environment has to be declared nine (9) days in advance, and only single or very very simple changes can occur – otherwise you are doomed to fail. The quality of our service provider is apparently inversely proportional with the number of letters in their name, as we went from one with two (2) letters to one with three (3) letters, and the service got a lot worse. This is why I still go with some Defaults. Not because I want to, but because the hassle is way to much – my longest running support ticket (which is still open) was filed 08-08-2014. I smell anniversary coming up.

I dream myself in a position, where I declaratively can specify which changes I want to have applied, and also with DSC have the ability to enforce these settings. Yes, that is something that is part of this technology, that you can have the configuration “monitored”, to revert any changes back (or file an event in the Application Event Log if you’re the more forgiving type). Having this ability enables you to at least monitor changes to your environment, to have a dialog about why somethings was changed. Maybe the changes are for the better. In order to allow your environment to grow with new requirements, you should be open to change.

There are a lot of areas covered by DSC, and just to give you a brief overview, this is some of the use cases:

  • Enabling or disabling server roles and features
  • Managing registry settings
  • Managing files and directories
  • Starting, stopping, and managing processes and services
  • Managing groups and user accounts
  • Deploying new software
  • Managing environment variables
  • Running Windows PowerShell scripts
  • Fixing a configuration that has drifted away from the desired state
  • Discovering the actual configuration state on a given node

In addition, you can create custom resources to configure the state of any application or system setting. So in fact, I can hardly come up with anything I cannot manage through this technology.

PowerShell DSC is an OS feature of Windows Server 2012 R2 and Windows 8.1, so if you are running any of the following versions of Windows, you are required to download the Windows Management Framework 4.0 (WMF). This goes for Windows 7, Windows Embedded Standard 7, Windows Server 2008 R2, Windows Server 2012

IMPORTANT NOTE
Systems that are running the following server applications should not run Windows Management Framework 4.0 at this time.

    • System Center 2012 Configuration Manager (not including SP1)
    • System Center Virtual Machine Manager 2008 R2 (including SP1)
    • Microsoft Exchange Server 2007
    • Windows Small Business Server 2011 Standard

WMF is not supported on Windows 8 and be sure to download and read the WMF 4.0 Release Notes for important information about changes in behavior from Windows PowerShell 3.0, and a list of known issues with this release.

DSC builds on a push/pull model – where you choose to apply which ever suits your current situation best. See illustration below:
Source: http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-24-metablogapi/1374.image_5F00_22AB5572.png

Push is the default, but may not be suitable if you find yourself having many targets or a lot of data to push – Then go for the Pull option, which you can do either using SMB or OData feed.

I know this blog post may not be entirely true to the topic set by Andy, but I hope that my few words on DSC will have spread the awareness of the technology even further. This is really powerful folks! Combine this with all the other tips and tricks from the trenches and you are hopefully off to a way better start.

Thanks for hosting Andy!

Loading

Selected to speak at #SQLSat275

If you haven’t already heard about the concept of SQL Saturday, I suggest you rush of to www.sqlsaturday.com and dive into the numerous opportunities to attend free Microsoft SQL Server training sessions.

One such SQL Saturday is comming to Copenhagen, Denmark, on March 29th 2014 where I have been so Lucky as to get selected to speak in one of the slots. My session is going to be about Security in Analysis Services, a session I have done a couple of times before, so now it should have matured and hopefully improved 🙂

The Friday before the Free event, there is a Pre-Con held at the same location, where you at a bargain can attend one of the following session:

Scaling SQL Server 2014 – Glenn Berry (MVP)    
Blog: www.sqlskills.com/blogs/glenn
Twitter: @GlennAlanBerry

Level : 300

Description
SQL Server implementations can quickly evolve and become more complex, forcing DBAs and developers to think about how they can scale their solution quickly and effectively. Scaling up is relatively easy (but can be expensive), while scaling out requires significant engineering time and effort. If you suggest hardware upgrades you may be accused of simply “throwing hardware at the problem”, and if you try to scale out, you may be thwarted by a lack of development resources or 3rd party software restrictions. As your database server nears its load capacity, what can you do? This session gives you concrete, practical advice on how to deal with this situation. Starting with your present workload, configuration and hardware, we will explore how to find and alleviate bottlenecks, whether they are workload related, configuration related, or hardware related. Next, we will cover how you can decide whether you should scale up or scale out your data tier. Once that decision is made, you will learn how to scale up properly, with nearly zero down-time. If you decide to scale out, you will learn about practical, production-ready techniques such as vertical partitioning, horizontal partitioning, and data dependent routing. We will also cover how to use middle-tier caching and other application techniques to increase your overall scalability.


Create Solutions with Power BI – Marco Russo (MVP) 
Blog: sqlblog.com/blogs/marco_russo
Twitter: @marcorus

Level : 300

Description
Microsoft Power BI is a self-service business intelligence (BI) solution that provides data analysis and visualization capabilities. It contains a set of add-in that you can use in Excel (Power Query, Power Pivot, Power View and Power Map), plus a set of services integrated in Office 365 to share, collaborate, get answers and insights (such us publishing data, Power View visualization in HTML5 and Q&A) and a mobile app that improves access on any device.

In this full-day seminar, Marco Russo guides you in creating a complete solution step-by-step, using all the features of Power BI. Starting from scratch, you see how to leverage on Power Query to import and integrate data from many different sources, with a particular attention on leveraging existing data in the company, transforming data in order to improve the resulting model and sharing the results of the queries created, so that they will be easy to reuse. Then you see how to create a Power Pivot model following the best practices and using the resources available on the web in order to accelerate the creation of tables and formulas that are shared in many models. The reference data model will improve over the day, adding metadata to improve the usability of other Power BI features.

Once the data model is ready, you see how to create dashboards in Excel, leveraging pivot tables, Power View and regular Excel formatting. After publishing the result on Office 365, you see how to refresh the data on the cloud using the Data Management Gateway, including all the details about correct configuration and best practices for moving on premise data to the cloud in a secure way.

Once the model is published, more analytics are available: you see how to use Power View and Q&A, learning how to optimize the data model for a better user experience during data exploration with these tools. Q&A enables queries written in natural language, and it might require some information in the data model in order to disambiguate similar names or similar relationships.

Finally, you see how to display data on maps using both Power View and Power Map, which offers visualizations that are more advanced and enables the production of a video, useful for a high impact presentation. At the end of the day, you will be ready to start using the entire Power BI stack in your company, choosing the right feature for each requirement and applying the best practices in each step.


Understanding Execution Plans – Hugo Kornelis (MVP)   
Blog: sqlblog.com/blogs/hugo_kornelis
Twitter: @Hugo_Kornelis

Level : 300

Description
For troubleshooting long running queries, looking at the execution plan is often a good starting point. Once you know how the query is executed, you know why it’s slow and what you can do to speed it up. But what if the execution plan is just beyond your understanding? What if it uses operators you have seen before, but do not really understand? What if you look at the execution plan, but just don’t see the problem?

In this full-day workshop, you will learn everything you need to be able to read and understand any execution plan. We’ll start with an overview of execution plans as a whole, and then dive in and look at all the components, and how they fit together. This will increase your understanding on why the optimizer picks a plan, and what you can do to make it pick a better plan.

Whether you have read your share of execution plans or whether you wouldn’t know where to find them, this workshop will teach you everything you need to know about execution plans. Attend this workshop if you want to hone your tuning skills!

Throughout the day, we will have several exercises to help you get an even better understanding of the theory. In order to get the most out of the day, attendees are advised to bring a laptop, with SQL Server (any version, but if you use SQL Server Express, you will need the advanced tools as well) and the AdventureWorks sample database pre-installed.

Price: 800 DKK (early-bird price: 600 DKK, if you register before 31 January 2014)


Register for the pre-con at : https://www.eventbrite.com/e/sqlsaturday-275-denmark-pre-conference-registration-9776266075?ref=ebtn

Register for the Free event at: http://www.sqlsaturday.com/275/eventhome.aspx

But be quick as seats fill up quickly 🙂

Loading