tag:blogger.com,1999:blog-103123022024-03-13T09:58:27.227-07:00TJay Belt's ThoughtsMy journal of the adventures and activities that I enjoy in my life. Some posts will be work related. Other posts will be family related. A smattering of me is what you will get by reading this blog.tjaybelthttp://www.blogger.com/profile/12931880332843056564noreply@blogger.comBlogger154125tag:blogger.com,1999:blog-10312302.post-3437489872153492021-08-17T09:06:00.001-07:002021-08-17T09:06:06.202-07:00T-SQL Tuesday #141: Work/Life Balance? - Wrap up<p>As the <a href="https://tjaybelt.blogspot.com/2021/08/t-sql-tuesday-141-worklife-balance.html" target="_blank">challenge </a>was accepted by many folks, I tried to keep track of their thoughts and make my own notes. I really enjoyed watching everyone attempt to tackle this topic and inspire others while sharing their own experiences, hopes, dreams, attempts, and so on. </p><p>Each blog that I experienced felt like the authors really sat down and tried to outpour their souls. I can only assume, in an effort to help others along their own path with these folks' experiences. </p><p><br /></p><p>Here is what I pulled from each of your posts. </p><p>I feel like I should revisit these posts and reread them from time to time, to see if I have implemented any of these ideas myself, but more importantly to revisit how I am doing now, or then, as things will change and my efforts toward achieving balance will most likely need to change as well over time. </p><p><br /></p><p>--Blogs</p><p><br /></p><p> Rob Farley his attempts in finding relevant quests to achieve work life blance thru activities he enjoyes or wants to enjoy. Mainly finding a distraction from current engagements to satisfy.</p><p><a href=" http://blogs.lobsterpot.com.au/2021/08/10/work-life-balance/" target="_blank"> http://blogs.lobsterpot.com.au/2021/08/10/work-life-balance/</a></p><p> </p><p> James McGillivray also notes that its about balance. Realizing life needs you to not give 110%, taking control, self introspection to course correct.</p><p><a href=" http://blogs.lobsterpot.com.au/2021/08/10/work-life-balance/" target="_blank"> https://jimbabwe.co.za/2021/08/10/t-sql-tuesday-141-its-all-about-balance/</a></p><p> </p><p> Tom shows us time spent in various activities, work and personal life. And stresses that we need to manage expectations, get enough sleep and take time off.</p><p><a href=" http://www.straightforwardsql.com/work-life-balance-t-sql-tuesday-141/" target="_blank"> http://www.straightforwardsql.com/work-life-balance-t-sql-tuesday-141/</a></p><p> </p><p> Brent Ozar makes a joke about using JIRA to track your homelife. But in all reality realizes that what is tracked can be understood and altered and made good. (my words). And gives practical advice to implement these ideas.</p><p><a href=" https://www.brentozar.com/archive/2021/08/want-a-better-work-life-balance-use-jira-at-home-tsql2sday/" target="_blank"> https://www.brentozar.com/archive/2021/08/want-a-better-work-life-balance-use-jira-at-home-tsql2sday/</a></p><p> </p><p> Gethyn teaches us that people dont know when to stop. Simply working from home is not the balance we seek. And then offers concrete rules that have helped.</p><p><a href=" https://www.gethynellis.com/2021/08/work-life-balance.html" target="_blank"> https://www.gethynellis.com/2021/08/work-life-balance.html</a></p><p> </p><p> Kevin used to work from home and was able to help coworkers do so when Covid hit. As well as organize a virtual event. It is important to realize that others can help us out. REach out.</p><p><a href=" https://www.kevinrchant.com/2021/08/10/t-sql-tuesday-141-work-life-balance/" target="_blank"> https://www.kevinrchant.com/2021/08/10/t-sql-tuesday-141-work-life-balance/</a></p><p> </p><p> Cathrine entertains us with her list of nopes and yeps. With real life examples that have helped, and may help us. </p><p><a href=" https://www.cathrinewilhelmsen.net/yeps-nopes-balancing-work-life/" target="_blank"> https://www.cathrinewilhelmsen.net/yeps-nopes-balancing-work-life/</a></p><p> </p><p> Jeff has had experience already working from home and luckily has a strong enough marriage to allow them both to be at home. And then answers my questions with real world answers that helped. </p><p><a href=" https://sqladm.in/posts/tsql-tuesday-141/" target="_blank"> https://sqladm.in/posts/tsql-tuesday-141/</a></p><p> </p><p> Aaron shares absolute rules to follow that have helped. I love the idea of making up time to the family spent on after hours work. What a nice example to flip the script.</p><p><a href=" https://sqlblog.org/2021/08/10/t-sql-tuesday-141-work-life-balance" target="_blank"> https://sqlblog.org/2021/08/10/t-sql-tuesday-141-work-life-balance</a></p><p> </p><p> John also believes that the outdoors is key in affecting this balance and provides rules that have helped achieve this balance. </p><p><a href=" https://johnmccormack.it/2021/08/balancing-work-and-life-the-covid-years-tsql2sday/" target="_blank"> https://johnmccormack.it/2021/08/balancing-work-and-life-the-covid-years-tsql2sday/</a></p><p> </p><p> Dale engages the frace 'forcing function' to let things enfore the rules to provide balance. I have to do X to do Y so I must step away from work now. </p><p><a href=" https://dalehirt.com/2021/08/10/t-sql-tuesday-141-work-life-balance/" target="_blank"> https://dalehirt.com/2021/08/10/t-sql-tuesday-141-work-life-balance/</a></p><p> </p><p> Camila has learned to listen to the body and mind and seek a comfort between work and personal. Acknowledging the idisyncracies of ones own mind and the impact this has on tasks and plans. </p><p><a href=" https://camilahenrique.com/2021/08/10/work-life-balance-tsql2sday/" target="_blank"> https://camilahenrique.com/2021/08/10/work-life-balance-tsql2sday/</a></p><p> </p><p> Chad seeks to find success while working from home. Replacing moments with new tasks like naps and walking the dog. At home or the office. </p><p><a href=" https://callihandata.com/2021/08/10/t-sql-tuesday-work-life-balance/" target="_blank"> https://callihandata.com/2021/08/10/t-sql-tuesday-work-life-balance/</a></p><p> </p><p> Deepthi acknowledges that guilt and pressure that leads to stress. Instead, make little changes in life to your schedule. And uses one of my favorites phrases, findging happiness. I say, Find Your Happy. </p><p><a href=" https://dbanuggets.com/2021/08/10/t-sql-tuesday-141-work-life-balance/" target="_blank"> https://dbanuggets.com/2021/08/10/t-sql-tuesday-141-work-life-balance/</a></p><p> </p><p> Travis details rules that have helped. Setting up rules that provide boundries, then mental breaks and stress relief, remembering to ask for help, and leave bad situations. </p><p><a href=" https://www.travis-page.com/t-sql2sday/T-SQL-Tuesday-141-Work-Life-Balance/" target="_blank"> https://www.travis-page.com/t-sql2sday/T-SQL-Tuesday-141-Work-Life-Balance/</a></p><p> </p><p> </p><p> --Twitter</p><p> </p><p> Chris reflects on how fast life moves and kids and family change quickly. Controlling what you can manage and letting go has helped. </p><p><a href=" https://t.co/ZiOQnmGo2r?amp=1" target="_blank"> https://t.co/ZiOQnmGo2r?amp=1</a></p><p> </p><p> Jess reflects on how the pandemic has shifted work and commutes and things. Having a hard stop or other activity helps stop the work day. Exercise and support from others has really helped.</p><p><a href=" https://t.co/eZxnyxy2pU?amp=1" target="_blank"> https://t.co/eZxnyxy2pU?amp=1</a></p><p> </p><p> Ken learned that timings are not immutable and giving in to ebb and flow, can lead to the balance one seeks. </p><p><a href=" https://t.co/fdkTPGZ1o9?amp=1" target="_blank"> https://t.co/fdkTPGZ1o9?amp=1</a></p><p> </p><p> </p><p><br /></p><p><a href="http://tsqltuesday.com/tag/2021/">http://tsqltuesday.com/tag/2021/</a></p><p><a href="https://tjaybelt.blogspot.com/2021/08/t-sql-tuesday-141-worklife-balance.html">https://tjaybelt.blogspot.com/2021/08/t-sql-tuesday-141-worklife-balance.html</a></p>tjaybelthttp://www.blogger.com/profile/12931880332843056564noreply@blogger.com0tag:blogger.com,1999:blog-10312302.post-12515920059776664672021-08-10T10:29:00.004-07:002021-08-10T10:29:48.885-07:00What does Work/Life Balance mean to me? <p><br /></p><p>This month's <a href="http://tsqltuesday.com/">T-SQL Tuesday</a> challenge is this topic. I am <a href="https://tjaybelt.blogspot.com/2021/08/t-sql-tuesday-141-worklife-balance.html">hosting </a>the blogging event, and this was my topic of choice. Because it has been on my mind a lot these last few years, and more so recently. </p><p>It seems like an easy answer problem to answer, no? </p><p>I've had coworkers simply say that they will never answer a message after work hours. Others turn off their phones. Some leave on the dot of a specific time, and work is done for the day. Others talk about how to maximize their usage of vacation time. Others mention that they work a lot of overtime, because they can, and want to get that big promotion. Others come in early because they believe that is the magic ticket. </p><p>What I get from these is the age ol' answer to everything. '<b>It Depends</b>'.</p><p>Review the below list yourself. And answer each of these honestly. If you can, compare with someone else, and see the disparity of answers.</p><p></p><ul style="text-align: left;"><li>Should we work late on that thing cause we are almost done?</li><li>Should we get to work at a specific time each morning?</li><li>Should we leave at a specific time each day? </li><li>Should we eat at our desks for lunch?</li><li>Should we leave for a lunch break? </li><li>Should we get exercise in the morning before work? During work? After work?</li><li>Should we check mail and work apps first thing in the morning?</li><li>Should we check mail and work apps after you have left for the day?</li><li>Should we never check mail and work apps when we are not truly 'working'?</li><li>Should we get showered and dressed each day, and still work from home?</li><li>Should we shower once a week and dress poorly since we work from home? </li><li>Should we use a scheduling technique to keep us on track during the workday?</li><li>Should we stretch the workday out, adding breaks within for personal stuff?</li><li>Should we never take personal breaks during work hours, because work is a priority during 9-5 hours?</li><li>Should we work late today because we started late this morning?</li><li>Should we leave early today because we started earlier this morning?</li><li>Should we leave home before starting work, to get a morning beverage, and delineate our days with normal tasks?</li><li>Should we check mail and work apps on the weekend?</li><li>Should we check mail and work apps on PTO?</li><li>Should we stay at the gym for one more game on Friday, since it's Friday, and we work from home anyway?</li></ul><p></p><p>I find that some of these ring more true to me than others. And I will tend to dig into these individually more than others. Some really force the answer 'It Depends'. Because it does. It depends on a lot of things. Where I am in my career, what my goals are, and so on. </p><p>Since the answer can often be 'It Depends' to these and many of life's questions, it behooves us to individually dig into these, and other similar questions, and form our own answers. Individual answers. And realize that these may work for a time, and cease to work after a time. </p><p>For example, when I had younger children at home, it was much more important to me and my family that I was home at a certain time. Dinner was a planned event, and we enjoyed it together. But as my kids have grown, and moved on, this is not so important anymore. So I can stay later now than I used to. However, maybe at this time in my life, I don't want to. But maybe I do. So its changes with time. One answer works for a while, then stops being the right answer, because reasons. So I urge you to constantly evaluate your answers and make sure that they still fit for you now. As now will forever change. </p><p>So, what works for you may not work for me. But we can definitely learn from each other and see examples. We can review our activities and moods and responses, and adjust as needed.</p><p><br /></p><p><b>What's worked for me?</b></p><p>Several years ago I got an app called Daylio. It has a daily reminder I set for 10:45pm to input daily data. It wants to know the overall mood for the day. It also lets me tag specific activities performed within the day, presumably that support this overall mood for the day. These are Rad, Good, Meh, and 2 lower moods I've never actually selected. </p><p>This becomes an interesting exercise. I get to evaluate the entire day and pick a single mood. So it must be an average for the day, not a high or low mood, in my interpretation. I could have had a terrible morning, but a better afternoon, so would that be average ok for the day? Can you have a Rad day while you are at work? It feels like a Rad day would be a weekend. But why cant a workday be Rad? and why can't a weekend be Meh? </p><p>In any event, it makes me think. And forces me to evaluate the day. Over the years I've used this app, I've been able to refine the activities to things that really seem to matter to me at the time. For example, I used to have activities for TV and Movies separated. But I realized that these were not core activities, and stopped using them to measure against my overall mood. I might watch TV or see a Movie, but it rarely weighs in to make a day Rad as compared to Good. So I have stopped including them in the overall activity exercise. I have since added different items in an effort to measure and weigh what makes me happy. I have separate entries for Outside and Desert and Mountains. Desert and Mountains are outside, but Outside also means in my yard, or playing pickleball at lunchtime, or simply being outside. This is also different from Garage Time, which usually entails some activity of creating or building. </p><p>The point being is that for me, I have fine-tuned this data gathering to fit me. It will probably not fit you. But I highly recommend you do something similar. I have been tracking my data for over 900 days now, and have learned a lot. Annually, I review the data and use it to change activities or priorities as I see patterns. </p><p>For me, spending time doing an activity of exercise daily has elevated my mood and work/life balance. Sprinkling in a couple other days of other activities has definitely helped, and this is usually after work. Spending time outside has become a positive point in my life, as well as spending time in my garage. So I try to do these things as often as I can in the week and notice when I have not, it affects me. So I've been known to say 'It's been too many days since I've been in the mountains, I need to return'. Or fill in the activity I've not done, and then I need to make sure I do that more. </p><p>Some things are seasonal, but still bring me joy. I ride dirtbikes, but not in the winter or the summer. More spring and fall. I also don't hike in the winter but do switch to snowshoeing. So seasonal things also happen when necessary. And on repeat, enough that I feel satisfied. If I do not feel satisfied, often it's because something like this is missing.</p><p>Now, switching gears, if I concentrated on the outside and fun activities only, I could find myself ignoring work. Why not do the same thing at work? What items should I track while at work that brings me joy or subtracts joy? If you can narrow those down and track them, you'll be better poised to make changes to them, possibly, and make yourself feel better about your work/life balance.</p><p>I have added 2 entries in my activities that let me track when I work on my tasks, vs when I work on other people's tasks. As I have noticed that being pulled into other people's issues to solve them or assist in solving them subtracts from my joy, I am not poised to respond better to these requests. When I can pour myself into my tasks, I am happier. It may not be that easy, but at least now I have identified the problem and can act towards a fix. It may require a new job or an acceptance of the job I already have. It may require out-of-the-box thinking or even conversations with bosses or other team members. But you are on the path to solving it, rather than allowing the activity to control you and your mood and your balance. </p><p><br /></p><p>-----------------------------------------------------------------------------------------------------------------------------</p><p><br /></p><p>So that was a lot of words. And if you made it this far, I'll reward you with a shorter version.</p><p></p><ul style="text-align: left;"><li>Find what makes you happy. </li></ul><ol style="text-align: left;"><ul><li>How do you find this? I measure daily activities and moods. But you do you. But find it!</li></ul></ol><ul style="text-align: left;"><li>Once you find '<b><span style="color: #800180;">your happy</span></b>', repeat '<b><span style="color: #800180;">your happy</span></b>' as often as possible. </li></ul><ul style="text-align: left;"><ul><li>How do I find '<span style="color: #800180;">my happy</span>'? Using various tools and data collection and retrospectives.</li></ul></ul><ul style="text-align: left;"><li>Work towards repeating '<b><span style="color: #800180;">your happy</span></b>' more often than not.</li></ul><ul style="text-align: left;"><ul><li>How do I do this? Make a plan to repeat when time allows, and schedule it and make it happen. </li></ul></ul><p></p><p> </p><p><br /></p>tjaybelthttp://www.blogger.com/profile/12931880332843056564noreply@blogger.com0tag:blogger.com,1999:blog-10312302.post-18333575850079645792021-08-03T14:49:00.004-07:002021-08-07T21:14:38.378-07:00T-SQL Tuesday #141: Work/Life Balance?<p><span face="-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif" style="background-color: #800180; font-size: 15px; white-space: pre-wrap;"><b><span style="color: white;"><br /></span></b></span></p><p><span style="background-color: white;"><span style="color: #800180;"><span face="-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif" style="white-space: pre-wrap;"><b><span style="font-size: large;">Work/Life Balance?</span></b></span></span></span></p><div><span face="-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif" style="color: #0f1419;"><span style="font-size: 15px; white-space: pre-wrap;"><br /></span></span><div><span class="css-901oao css-16my406 r-poiln3 r-bcqeeo r-qvutc0" face="-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif" style="background-color: rgba(0, 0, 0, 0.03); border: 0px solid black; box-sizing: border-box; color: #0f1419; display: inline; font-size: 15px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin: 0px; min-width: 0px; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap;">Having gone thru this last year of strange upheaval around the world, I've been thinking about this topic quite a bit lately. My company has a mentor program where one can sign up and discuss this topic. I signed up. I've had several 'sessions' with my mentor. We've had some productive conversations about what this all means to me, my career, my skillset, and so on. </span></div><div><span class="css-901oao css-16my406 r-poiln3 r-bcqeeo r-qvutc0" face="-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif" style="background-color: rgba(0, 0, 0, 0.03); border: 0px solid black; box-sizing: border-box; color: #0f1419; display: inline; font-size: 15px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin: 0px; min-width: 0px; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap;"><br /></span></div><div><span class="css-901oao css-16my406 r-poiln3 r-bcqeeo r-qvutc0" face="-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif" style="background-color: rgba(0, 0, 0, 0.03); border: 0px solid black; box-sizing: border-box; color: #0f1419; display: inline; font-size: 15px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin: 0px; min-width: 0px; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap;">As I transitioned to work at home, some 500 days ago, it was a shift in perspective, timing, and many things. Trying to keep those scales balanced has been a focus and a struggle from time to time. Especially recently, but throughout my career, it's a topic I often lapse back into. Trying to find that balance. </span></div><div><span class="css-901oao css-16my406 r-poiln3 r-bcqeeo r-qvutc0" face="-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif" style="background-color: rgba(0, 0, 0, 0.03); border: 0px solid black; box-sizing: border-box; color: #0f1419; display: inline; font-size: 15px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin: 0px; min-width: 0px; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap;"><br /></span></div><div><span class="css-901oao css-16my406 r-poiln3 r-bcqeeo r-qvutc0" face="-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif" style="background-color: rgba(0, 0, 0, 0.03); border: 0px solid black; box-sizing: border-box; color: #0f1419; display: inline; font-size: 15px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin: 0px; min-width: 0px; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap;"><br /></span></div><div><span class="css-901oao css-16my406 r-poiln3 r-bcqeeo r-qvutc0" face="-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif" style="background-color: rgba(0, 0, 0, 0.03); border: 0px solid black; box-sizing: border-box; color: #0f1419; display: inline; font-size: 15px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin: 0px; min-width: 0px; overflow-wrap: break-word; padding: 0px; white-space: pre-wrap;"><p style="background-color: white; border: 0px; color: #444444; font-family: "Open Sans", Helvetica, Arial, sans-serif; font-size: 14px; line-height: 1.71429; margin: 0px 0px 1.71429rem; padding: 0px; vertical-align: baseline; white-space: normal;"><strong style="border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"><em style="border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">My invitation</em></strong> to you for this month’s #tsql2sday is…</p><p style="background-color: white; border: 0px; color: #444444; font-family: "Open Sans", Helvetica, Arial, sans-serif; font-size: 14px; line-height: 1.71429; margin: 0px 0px 1.71429rem; padding: 0px; vertical-align: baseline; white-space: normal;">I want to invite you to share your experiences dealing with your own personal journey with <b>Work/Life Balance</b>, either thru experience, or hopeful future goals…</p><ul style="background-color: white; border: 0px; color: #444444; font-family: "Open Sans", Helvetica, Arial, sans-serif; font-size: 14px; line-height: 1.71429; list-style-image: initial; list-style-position: outside; margin: 0px 0px 1.71429rem; padding: 0px; vertical-align: baseline; white-space: normal;"><li style="border: 0px; margin: 0px 0px 0px 2.57143rem; padding: 0px; vertical-align: baseline;">What are the cool things have you learned?</li><li style="border: 0px; margin: 0px 0px 0px 2.57143rem; padding: 0px; vertical-align: baseline;">What things did you try, that simply didn't work out? </li><li style="border: 0px; margin: 0px 0px 0px 2.57143rem; padding: 0px; vertical-align: baseline;">What rules have you implemented that made it easier to balance?</li><li style="border: 0px; margin: 0px 0px 0px 2.57143rem; padding: 0px; vertical-align: baseline;">What rules made it harder to find that balance?</li><li style="border: 0px; margin: 0px 0px 0px 2.57143rem; padding: 0px; vertical-align: baseline;">What are tips or tricks can you share to help others?</li></ul><p style="background-color: white; border: 0px; color: #444444; font-family: "Open Sans", Helvetica, Arial, sans-serif; font-size: 14px; line-height: 1.71429; margin: 0px 0px 1.71429rem; padding: 0px; vertical-align: baseline; white-space: normal;"><b>*** The Rules ***</b></p><p style="background-color: white; border: 0px; color: #444444; font-family: "Open Sans", Helvetica, Arial, sans-serif; font-size: 14px; line-height: 1.71429; margin: 0px 0px 1.71429rem; padding: 0px; vertical-align: baseline; white-space: normal;">Your post must be published on Tuesday, August <b>10th </b>2021 (in any timezone). (Not the 17th, like I initially said here. Oops)</p><p style="background-color: white; border: 0px; color: #444444; font-family: "Open Sans", Helvetica, Arial, sans-serif; font-size: 14px; line-height: 1.71429; margin: 0px 0px 1.71429rem; padding: 0px; vertical-align: baseline; white-space: normal;">Include the T-SQL Tuesday Logo and make it link to this invitation post.<br />Please add a comment to this post with a link to your own so I know where to find it.<br />Tweet about your post using the #tsql2sday hashtag.</p></span></div></div>tjaybelthttp://www.blogger.com/profile/12931880332843056564noreply@blogger.com17tag:blogger.com,1999:blog-10312302.post-2619977731793677662015-11-23T15:33:00.004-08:002021-12-21T13:49:10.485-08:00Update stuff I've done, mainly for me. You don't have to read this at all.<div class="MsoNormal" style="background-color: white; line-height: 16.89px; margin: 0px 0px 0pt; text-indent: 0px;"><span face="verdana, sans-serif" style="background-color: #e2e2e2; color: #333333;"><p class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; font-size: 11.3333px; line-height: 12.75pt; margin-bottom: 0in; text-align: justify;"><b><span face=""Verdana",sans-serif" style="color: #32527a; font-size: 10.5pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"><br />
Speaking Engagements</span></b><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><br /></p><p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><br /></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><b><span face="Verdana, sans-serif" style="background: rgb(226, 226, 226); font-size: 8.5pt;">SQL Saturday</span></b><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SQL Saturday
54, Salt Lake City </span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">October 2010 Database
Switch</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SQL Saturday
54, Salt Lake City </span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">October 2010 SQL Server
Profiler and Tracing</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";"><br />
SQL Saturday 66, Colorado</span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
February 2011
Documentation – you know you love it</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SQL Saturday
94, Salt Lake City </span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">October 2011 Data
File Sizes</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SQL Saturday
94, Salt Lake City </span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">October 2011
Documentation – you know you love it</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SQL Saturday 97,
Austin</span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
October 2011
Data File Sizes</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: normal; margin-bottom: 0in;"><span style="color: #666666; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";"><br />
SQL Saturday 104, Colorado Springs</span><span style="font-family: "Times New Roman", serif; font-size: 12pt;"> January 2012 Utility Belt
Pre-Con</span><span style="color: black; font-family: "Times New Roman",serif; font-size: 13.5pt; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SQL Saturday
154, Salt Lake City </span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">October 2012 </span><span style="color: #222222; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">Release Management</span><span face=""Verdana",sans-serif" style="color: #222222; font-size: 10pt; mso-bidi-font-family: Arial; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";"><br />
SQL Saturday 183, Albuquerque</span><span style="font-family: "Times New Roman", serif; font-size: 12pt;"> February 2013
Release Management</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SQL Saturday
190, Denver</span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
September 2013
Documentation</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SQL Saturday
246, Salt Lake City</span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
September 2013 Database Monitoring</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SQL Saturday
249, San Diego</span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
September 2013 Database Monitoring</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SQL Saturday
249, San Diego</span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
September 2013 Documentation</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";"><br />
SQL Saturday 279, Phoenix</span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
February 2014
Documentation</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SQL Saturday
279, Phoenix</span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
February 2014 Release
Management</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><br />
</span><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SQL Saturday
295, Las Vegas</span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
April 2014
Database Monitoring</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SQL Saturday
297, Colorado Springs</span><span style="font-family: "Times New Roman", serif; font-size: 12pt;"> April
2014 Documentation</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SQL Saturday
340, San Diego</span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
September 2014 Documentation</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SQL Saturday
340, San Diego</span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
September 2014 Database Monitoring</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SQL Saturday
340, San Diego</span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
September 2014 Release Management</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SQL Saturday
349, Salt Lake City </span><span style="font-family: "Times New Roman", serif; font-size: 12pt;"> October 2014
Release Management</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p> </o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SQL Saturday 362,
Austin</span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
January 2015
Release Management</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: normal; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SQL Saturday 358, </span><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 10pt; mso-fareast-font-family: "Times New Roman";">Albuquerque </span><span style="font-family: "Times New Roman", serif; font-size: 12pt;"> February 2015
Documentation</span><span face=""Arial",sans-serif" style="color: #222222; font-size: 10pt; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SQL Saturday 441,
Denver</span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
September 2015 Hadoop,
Hive, Json, and Data, Oh My!!</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SQL Saturday 474, Salt
Lake City</span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
November 2015 Hadoop, Hive, Json, and Data, Oh My!!</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p> </o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SQL Saturday
478, Albuquerque </span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
February 2016 Hadoop, Hive, Json,
and Data, Oh My!!</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 12pt;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SQL Saturday
483, Colorado Springs </span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">April 2016 Hadoop,
Hive, Json, and Data, Oh My!!</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><br />
</span><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SQL Saturday
492, Phoenix</span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
April 2016
Hadoop, Hive, Json, and Data, Oh My!!</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><br />
</span><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SQL Saturday
576, SLC </span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
November 2016 PowerBI for the DBA</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SQL Saturday
597, Phoenix</span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
April 2017
PowerBI for the DBA</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SQL Saturday
673, Denver</span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
September 2017 PowerBI for the
DBA</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p> </o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SQL Saturday 700, Colorado
Springs </span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">March 2018 PowerBI, From a DBA</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SQL Saturday 726, Phoenix </span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">March 2018 PowerBI, From a DBA</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SQL Saturday 720, Albuquerque </span><span style="font-family: "Times New Roman", serif; font-size: 12pt;"> May 2018 PowerBI, From a DBA</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p> </o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";"><span style="font-size: 12pt;">SQL Saturday 830, Colorado
Springs </span><span style="color: #333333; font-size: 12pt;">April 2019 Power BI, from a DBA’s Perspective</span></span></p><p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SQL Saturday 887, Salt
Lake City </span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">August 2019 [Organizer only]</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SQL Saturday 908, Denver </span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">October 2019 Power BI, from a DBA’s
Perspective</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<h2 style="background: white; font-size: 11.3333px;"><span style="color: #747474; font-size: 12pt; font-weight: normal;">SQL Saturday 997, Salt Lake City </span><span style="font-size: 12pt; font-weight: normal;">August 2020</span><span style="font-size: 12pt;"> </span><span style="font-size: 12pt; font-weight: normal;">Let’s take PowerBI on an adventure<o:p></o:p></span></h2>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p> </o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><b><span face="Verdana, sans-serif" style="background: rgb(226, 226, 226); font-size: 8.5pt;">Events</span></b><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">RedGate's SQL In The
City</span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
October 2015 Monitoring +
SQLMonitor</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">Microsoft SQL Server
2016 Discovery Day </span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
June 2016 </span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">Seattle Freecon
</span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
November 2016 PowerBI for the DBA</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p> </o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><b><span face="Verdana, sans-serif" style="background: rgb(226, 226, 226); font-size: 8.5pt;">User Groups</span></b><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">Utah User Groups</span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
June 2005
Reporting Services</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">Utah User Groups</span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
August 2005
Profiler / Trace</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">Utah User Groups</span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
February 2006
Sarbanes-Oxley</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">Utah User Groups</span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
January 2008
Query Processing</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">Salt Lake City User
Group </span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
2004-2008
various topics</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">Utah County User
Group </span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
2006-2008
various topics</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><br />
</span><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">Utah County User
Group </span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
August 2016
PowerBI</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: normal; margin-bottom: 0in; text-indent: -0.25in;"><span face=""Arial",sans-serif" style="color: #222222; font-size: 10pt; mso-fareast-font-family: "Times New Roman";"><o:p> </o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: normal; margin-bottom: 0in; text-indent: -0.25in;"><span face=""Arial",sans-serif" style="color: #222222; font-size: 10pt; mso-fareast-font-family: "Times New Roman";"><o:p> </o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><b><span face="Verdana, sans-serif" style="background: rgb(226, 226, 226); font-size: 8.5pt;">Code Camps</span></b><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">Salt Lake City Code
Camp</span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
October 2006
Profiler / Trace</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">Salt Lake City Code
Camp</span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
April 2008
Query Processing</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">Salt Lake City Code
Camp</span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
November 2008
Query Processing</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">Salt Lake City Code
Camp</span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
November 2013
Release Management</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">Big Mountain Data</span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
November 2017 PowerBI
for the DBA</span><span face=""Verdana",sans-serif" style="color: #222222; font-size: 10pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p> </o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><b><span face="Verdana, sans-serif" style="background: rgb(226, 226, 226); font-size: 8.5pt;"><br />
Miscellaneous</span></b><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">Microsoft</span><span style="font-family: "Times New Roman", serif; font-size: 12pt;"> 2006 Analysis Services</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">ACS</span><span style="font-family: "Times New Roman", serif; font-size: 12pt;"> 2006 Sarbanes-Oxley</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">PASS SIG</span><span style="font-family: "Times New Roman", serif; font-size: 12pt;"> 2007 Some topic</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">Imagine Learning</span><span style="font-family: "Times New Roman", serif; font-size: 12pt;"> 2015 Hadoop ETL Processes</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p> </o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p> </o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><b><span face="Verdana, sans-serif" style="background: rgb(226, 226, 226); font-size: 8.5pt;">SQL Server World Wide User Group Virtual
Conference</span></b><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SSWUG vConference</span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
April 2009
Auditing your users</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SSWUG
vConference </span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
April 2009
Best Practices</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SSWUG
vConference </span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
April 2009
Job Execution System</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SSWUG
vConference </span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
April 2009
Monitor Index Fragmentation</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SSWUG
vConference </span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
April 2010
Configuring and Managing GoldenGate</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SSWUG
vConference </span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
April 2010
Database Switch</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SSWUG
vConference </span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
April 2010
SQL Server Profiler and Tracing</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SSWUG
vConference </span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
October 2010
Database Change Process</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SSWUG
vConference </span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
October 2010
</span><span face="Verdana, sans-serif" style="font-size: 10pt;">On Call</span><span style="font-family: "Times New Roman", serif; font-size: 12pt;"> Duties</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SSWUG
vConference </span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
October 2010
Professional Development</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SSWUG
vConference </span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
October 2010
SQL Server Logical Query Processing</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SSWUG
vConference </span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
April 2011
Data File Sizes</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SSWUG
vConference </span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
April 2011
Documentation – you know you love it</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SSWUG
vConference </span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
April 2011
Server Profiler and Tracing, a “How To”</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SSWUG
vConference </span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
April 2011
Stand-alone DBA </span><span face="Verdana, sans-serif" style="font-size: 10pt;">dailyweeklymonthly<o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">SSWUG vConference</span><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
November 2016 PowerBI
for the DBA</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span style="font-family: "Times New Roman", serif; font-size: 12pt;">
</span><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p> </o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><b><span face="Verdana, sans-serif" style="background: rgb(226, 226, 226); font-size: 8.5pt;">SQL RALLY</span></b><b><span face="Verdana, sans-serif" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; font-size: 7.5pt;"> </span></b><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="font-size: 11.3333px; line-height: normal; margin-bottom: 0in;"><b><span style="background: white; color: #747474; font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">Dallas Texas, May 2012 </span></b><b><span style="background: white; font-family: "Times New Roman", serif; font-size: 12pt;">All Day Pre-Con with
co-presentor Chris Shaw,</span></b><span style="font-family: "Times New Roman",serif; font-size: 12pt; mso-fareast-font-family: "Times New Roman";"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; font-size: 11.3333px; line-height: 12.65pt; margin-bottom: 0in;"><b><span face="Arial, sans-serif" style="font-size: 7.5pt;">
How to be a DBA - A Utility Belt of Tools</span></b><span face="Verdana, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></p>
<p class="MsoNormal" style="font-size: 11.3333px;"><o:p> </o:p></p></span></div>
tjaybelthttp://www.blogger.com/profile/12931880332843056564noreply@blogger.com3tag:blogger.com,1999:blog-10312302.post-77604121702622696572015-02-03T10:41:00.000-08:002015-02-03T10:42:25.994-08:00SQL Saturday ALBER..ALBUq...ALBURQUERQUE... New Mexico<span style="background-color: white; color: #2b2b2b; font-family: Lato, sans-serif; font-size: 16px; line-height: 24px;">I was thrilled to get the email confirming that I was selected to speak at </span><a href="https://www.sqlsaturday.com/358/eventhome.aspx"><span style="color: #24890d; font-family: Lato, sans-serif;"><span style="background-color: white; line-height: 24px;">SQLSaturday #358</span></span></a><span style="background-color: white; color: #2b2b2b; font-family: Lato, sans-serif; font-size: 16px; line-height: 24px;"> on February 07, 2015. </span><br />
<span style="background-color: white; color: #2b2b2b; font-family: Lato, sans-serif; font-size: 16px; line-height: 24px;"><br /></span><span style="background-color: white; color: #2b2b2b; font-family: Lato, sans-serif;"><span style="line-height: 24px;">Its been two years since I went to New Mexico, as I then had the honor of speaking at the inaugural event. I am happy to return. Last year, family got in the way of my attending. I cant remember what i had to do instead, but I am sure it was the right decision to hang with my family then.</span></span><br />
<span style="background-color: white; color: #2b2b2b; font-family: Lato, sans-serif;"><span style="line-height: 24px;"><br /></span></span>
<span style="background-color: white;"><span style="color: #2b2b2b; font-family: Lato, sans-serif;"><span style="line-height: 24px;">This time around, I am bringing my 15yr old daughter with me. She is learning how to drive, and a road trip is one of the ways we solve this dilemma in my family. So why not make a 9 hour trek south to New Mexico and back? </span></span></span><br />
<span style="background-color: white;"><span style="color: #2b2b2b; font-family: Lato, sans-serif;"><span style="line-height: 24px;"><br /></span></span></span>
<span style="background-color: white;"><span style="color: #2b2b2b; font-family: Lato, sans-serif;"><span style="line-height: 24px;">We will be leaving midday on Thursday, driving 5 hours, and spending the night in Utah, near the border. The next day will be Friday, and we will get up and go see four corners area, which we have never seen before. Then travelling to New Mexico. Once there, im sure we'll hit the hotel, and then make our way to the speaker dinner. I love attending these little get togethers, so that we can see and say hi to our #sqlfamily. Hugs and introductions to my daughter will be in order. And food. </span></span></span><br />
<span style="background-color: white; color: #2b2b2b; font-family: Lato, sans-serif; line-height: 24px;"><br /></span>
<span style="background-color: white; color: #2b2b2b; font-family: Lato, sans-serif; line-height: 24px;">The next day will find us both attending the SQL Saturday event. I will force my daughter to attend my session, just so there are at least 3 of us in there. Me, her, and the room proctor. </span><br />
<span style="background-color: white; color: #2b2b2b; font-family: Lato, sans-serif; line-height: 24px;">She will hang out and maybe go with me to sessions, or maybe run the PASS booth. I will spend some time behind the table myself, helping out the region that I used to mentor as an RM for PASS. This recently changed, and I lost this area as one of my responsibilities. I am sad to miss out on continued interactions with these folks. But will do so from the #sqlfamily perspective instead.</span><br />
<span style="background-color: white; color: #2b2b2b; font-family: Lato, sans-serif; line-height: 24px;"><br /></span>
<span style="background-color: white; color: #2b2b2b; font-family: Lato, sans-serif; line-height: 24px;">At my session we will be talking about documentation. And I would love to assign you homework, if you are going to be in this session. Bring to me some piece of a potential document, and lets work on it either in the session or after, and apply the techniques we'll discuss. Documenting what we do is so vital, and has become an important part of my job. I dont necessarily love to document, but I do love when it has been done properly. </span><br />
<span style="background-color: white; color: #2b2b2b; font-family: Lato, sans-serif; line-height: 24px;"><br /></span>
<span style="background-color: white; color: #2b2b2b; font-family: Lato, sans-serif; line-height: 24px;">After the event, I am not sure yet if we will be attending the after party. I will probably let my dear daughter decide this. It will have been a long day of potential boredom for her. </span><br />
<span style="background-color: white; color: #2b2b2b; font-family: Lato, sans-serif; line-height: 24px;"><br /></span>
<span style="background-color: white; color: #2b2b2b; font-family: Lato, sans-serif; line-height: 24px;">The next day, we will make the 9 hour journey back home. Trading off in the duties of driving, and helping her learn how to drive. It will be exciting ans scary. If you are of the persuasion that prays, please keep us in mind, since we almost die everytime she gets behind the wheel. Just kidding, she is not that terrible, but still, its a bit scary, I'll admit.</span><br />
<span style="background-color: white; color: #2b2b2b; font-family: Lato, sans-serif; line-height: 24px;"><br /></span>
<span style="background-color: white; color: #2b2b2b; font-family: Lato, sans-serif; line-height: 24px;">I took my son with me to San Diego SQL Saturday, and we made a trip out of it. At the tail end of PASS, my wife came to visit me, and we made a trip out of it as well. I took my oldest daughter to Austin this last weekend. And this next weekend will find me in </span><a href="https://www.sqlsaturday.com/358/eventhome.aspx" style="background-color: white; font-family: Lato, sans-serif; line-height: 24px;">Albuquerque</a><span style="background-color: white; color: #2b2b2b; font-family: Lato, sans-serif; line-height: 24px;">, with my other child. We are making the most out of these events, combining work and family, #sqlfamily and SQL. </span><br />
<span style="background-color: white;"><span style="color: #2b2b2b; font-family: Lato, sans-serif;"><span style="line-height: 24px;"><br /></span></span></span><span style="background-color: white;"><span style="color: #2b2b2b; font-family: Lato, sans-serif;"><span style="line-height: 24px;">I look for to these events, to sharing my knowledge and experiences, to learning from you, and seeing my #sqlfamily. </span></span></span><br />
<span style="background-color: white;"><span style="color: #2b2b2b; font-family: Lato, sans-serif;"><span style="line-height: 24px;"><br /></span></span></span>tjaybelthttp://www.blogger.com/profile/12931880332843056564noreply@blogger.com0tag:blogger.com,1999:blog-10312302.post-38301446369179146352015-01-27T12:46:00.000-08:002015-01-27T12:46:17.962-08:00SQL Saturday Austin 2015This weekend is the Austin SQL Saturday event. I blogged about it <a href="http://tjaybelt.blogspot.com/2014/11/sql-saturday-austin.html">here</a> previously. You can find out more about the event <a href="https://www.sqlsaturday.com/362/eventhome.aspx">here</a>.<br />
<br />
Some of my favorite #SQLFamily will be in attendance. As well as some new members, I hope. As you attend these events, make sure to reach out to the speakers for more information. But not just them, reach out to fellow attendees. Even Volunteers. Even organizers. Basically, reach out to any and all folks that can help you with your career and current problems.<br />
<br />
Don't just seek out the like minded folks or those that can help with immediate needs. If you are an Administrator, spend some time talking to a BI person. And vice a versa. Just reach out and talk to them. Hand them a business card (you did remember to bring those didn't you?) and start building your network.<br />
<br />
While I am in the area, please come and talk to me. I like talking to people. I have tons of stories to share. I may even be able to help you, or even better, recruit you to help me.<br />
<br />
See in Texas.<br />
<br />
<br />tjaybelthttp://www.blogger.com/profile/12931880332843056564noreply@blogger.com0tag:blogger.com,1999:blog-10312302.post-28486256944590053512014-11-21T10:02:00.003-08:002014-11-21T10:02:55.950-08:00SQL Saturday Austin<span style="background-color: white; color: #2b2b2b; font-family: Lato, sans-serif; font-size: 16px; line-height: 24px;">I was thrilled to get the email confirming that I was selected to speak at </span><a href="https://www.sqlsaturday.com/362/eventhome.aspx" style="background-color: white; border: 0px; color: #24890d; font-family: Lato, sans-serif; font-size: 16px; line-height: 24px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;" target="_blank">SQLSaturday #362</a><span style="background-color: white; color: #2b2b2b; font-family: Lato, sans-serif; font-size: 16px; line-height: 24px;"> on January 31, 2015. </span><br />
<span style="background-color: white; color: #2b2b2b; font-family: Lato, sans-serif; font-size: 16px; line-height: 24px;"><br /></span>
<span style="background-color: white; color: #2b2b2b; font-family: Lato, sans-serif; font-size: 16px; line-height: 24px;">The last time I was in Austin was 2011 for SQL Saturday 97. My wife and I flew out there and hung out with my Sister and her family while I attended the event. My wife had a great time hanging out in Texas, a first for her. And we both enjoyed the weekend with my sister. </span><br />
<span style="background-color: white; color: #2b2b2b; font-family: Lato, sans-serif; font-size: 16px; line-height: 24px;"><br /></span>
<span style="background-color: white; color: #2b2b2b; font-family: Lato, sans-serif; font-size: 16px; line-height: 24px;">This time around, I am bringing my 18yr old daughter with me to hang out with my sister. Hopefully she won't corrupt her. She being my sister, and her being my daughter. </span><br />
<span style="background-color: white; color: #2b2b2b; font-family: Lato, sans-serif; font-size: 16px; line-height: 24px;"><br /></span>
<span style="background-color: white; color: #2b2b2b; font-family: Lato, sans-serif; font-size: 16px; line-height: 24px;">Ever since my oldest came into the world, she has had a special affinity for her aunt, my sister. The two of them share a lot of traits and even resemble each other. Sadly, we have not lived close enough to entertain the togetherness that these two have craved for so many years. But I hope to help with that, this trip.</span><br />
<span style="background-color: white; color: #2b2b2b; font-family: Lato, sans-serif; font-size: 16px; line-height: 24px;"><br /></span>
<span style="background-color: white;"><span style="color: #2b2b2b; font-family: Lato, sans-serif;"><span style="line-height: 24px;">We will fly out Thursday before the event, and this will give my daughter all Thursday night, all day Friday and Saturday, along with most of the day Sunday to hang out with her doppelganger. I hope they have a blast, get into a ton of trouble and bond over everything they can in the short amount of time we can provide them. </span></span></span><br />
<span style="background-color: white; color: #2b2b2b; font-family: Lato, sans-serif; font-size: 16px; line-height: 24px;"><br /></span>
<span style="background-color: white; color: #2b2b2b; font-family: Lato, sans-serif; font-size: 16px; line-height: 24px;">In the meantime, I will go to the speaker dinner and spend most of Saturday hanging out with my #SQLFamily at the event. The first time I was here, it was my fourth SQL Saturday event. This time it'll be like my 16th or something. I try to hit a few each year, but never more than 5, as it is difficult to justify a quantity more than that with my current situation. I would love the opportunity to go to more. But will work with what I have been given. </span><br />
<span style="background-color: white; color: #2b2b2b; font-family: Lato, sans-serif; font-size: 16px; line-height: 24px;"><br /></span>
<span style="background-color: white;"><span style="color: #2b2b2b; font-family: Lato, sans-serif;"><span style="line-height: 24px;">The last event I attend outside my state, i took my son with me, and we made a trip out of it. At the tail end of PASS, my wife came to visit me, and we made a trip out of it as well. Austin will allow me the opportunity to bring my oldest daughter. And the very next weekend will find me in <a href="https://www.sqlsaturday.com/358/eventhome.aspx">Albuquerque</a>, having driven there with my other child. So, we are making the most out of these events, combining work and family, #sqlfamily and SQL. </span></span></span><br />
<span style="background-color: white;"><span style="color: #2b2b2b; font-family: Lato, sans-serif;"><span style="line-height: 24px;"><br /></span></span></span>
<span style="background-color: white;"><span style="color: #2b2b2b; font-family: Lato, sans-serif;"><span style="line-height: 24px;">I look for to these events, to sharing my knowledge and experiences, to learning from you, and seeing my #sqlfamily. </span></span></span><br />
tjaybelthttp://www.blogger.com/profile/12931880332843056564noreply@blogger.com0tag:blogger.com,1999:blog-10312302.post-13194923541940224942014-10-29T15:54:00.002-07:002014-10-29T15:55:37.368-07:00PASS Summit 2014 goals - crowd source solving a problemI've not really done this before. They've usually been rattling around in my head though.<br />
I tend to attend the conference and seek out folks that i know can add to my knowledge store or help resolve issues i am having currently.<br />
<br />
I'm going to describe some of them here in this post, and hope that you, dear reader, can assist me with tracking them down.<br />
<br />
I am not a BI guy, but I would like to become more of one. <br />
<br />
One of the current projects we are working on is getting a cloud based version of our application to work well. It is the basic application we have now, only instead of getting data from an on premise sql server, its gonna reach into an azure blob storage and retrieve a json document. This rich document contains all the data we normally have, without the constraint of structure in an rdbms. But it will mimic this structure. So there will be a document describing a student, and within that, there will be names and the like. Another document within this json doc will have scores and history and other descriptive data detailing what this student has done. Think 20 tables with 10-15 fields per table, and many rows of data (or documents in this case). These json docs will grow and grow with use, as more data is added.<br />
<br />
How do I get this data out of these json documents, and into a system where others (internal, external, application, services) can get to the data? Think for reporting. Each json doc is a single student. Maybe i need to summarize all the students from an entire region and gain insight on something they have done. I would assume that these individual rich json docs will need to be extracted to some other structure, and transformed and loaded to a storage system, be it an rdbms, or hadoop cluster, or some other magical solution. Maybe a data warehouse. Maybe a SQL Server. Maybe a MondoDB store.<br />
<br />
What do you think it should be? How best to create this process of extracting this data and presenting it to others in a reportable fashion?<br />
<br />
So if you are still reading this, and have an opinion on this above issue, come grab me and let's talk about it. I'd love to hear your take on this, and experience, and possible direction.<br />
<br />
With this in mind, there are a slew of sessions that are BI related that I am going to try hard to attend this year. I have flagged some of them and hope to get some insight there, as well as with other groups like SQLCAT and the other forums and opportunities that the PASS Summit offers. I'll even sit down with vendors and spell this out in the hopes that they have a magic bullet or at least a suggestion of direction.<br />
<br />
<br />
I suggest that you too bring issues, real issues, to the summit and attempt to get them solved. At the very least, by you talking through the issue with others, you will discover things along the way. Maybe you will solve it by yourself, or maybe you'll get put in touch with that solitary individual in the world that has already solved it and is willing to train you on the process. Or something in between. Either way, its better than sitting at your desk making it up yourself.<br />
<br />
Get out and get your lurn on at the summit this next week and enjoy yourself.tjaybelthttp://www.blogger.com/profile/12931880332843056564noreply@blogger.com3tag:blogger.com,1999:blog-10312302.post-71620407441467241522014-09-24T16:02:00.001-07:002014-09-24T16:02:19.213-07:00PASS Elections 2014: my thoughtsI voted.<br />
<br />
I think you should vote also. Go vote.<br />
<br />
See ya at summit!<br />
<br />
<br />tjaybelthttp://www.blogger.com/profile/12931880332843056564noreply@blogger.com0tag:blogger.com,1999:blog-10312302.post-47735485358669748602014-06-30T09:23:00.000-07:002014-06-30T09:23:03.591-07:00On SpeakingBack in 2004, I attended my first PASS Summit conference. I was not as integrated into the community back then, and only knew a few folks. I met some great folks on that adventure, some i still know today and some that have become quite celebrities in the community. I attended because a local user group leader encouraged me to attend, as he encouraged me to do a great many things. One of which was to speak at the local User Group. I was frightened, and exhilarated.<br />
<br />
Having grown up in a religion that encourages its members to speak, I have had various opportunities throughout my life to stand in front of an audience and speak. I did so as a youth many times, also as a missionary, and as an adult. One in particular will always remain fresh in my mind. Usually as a youth, after speaking to the congregation, you get the 'good job' and 'atta boys' doled out by members of your congregation. They do it to make you feel better, since you probably looked terrified while in front of them. I received some of these while at church. But after church, members called me at home to congratulate me. This was when phones were not as easily accessible as today, so it seemed like an extra effort to call a child and buoy them up for a job well done. I was elated. And terrified. It meant that I had a knack for speaking, that I didnt appear to be as terrified as I felt, and that meant that I oughta continue practicing the talent, or it would become latent. So I did. I never really shied away from opportunities to speak.<br />
<br />
Fast forward to the User Group leader who asks me to speak. I say yes. I give it a shot. I am thrilled at being selected to speak, and humbled at the task, as well as terrified. But I pull it off and get compliments. Not overflowing, but not under. A sweet spot. So I repeat at the next chance.<br />
<br />
As my career marches on, more opportunities have presented themselves. I once spoke at a Microsoft event to a large room full of attendees, following the lesson notes they had outlined, teaching about Analysis Services. I had never used it before for real, but here I was teaching it to a crowd. I did OK. Not great, but not bad enough to recognize in myself the lack of this talent, or the subsiding of talent such that I should quit. I did OK.<br />
<br />
I remember being asked to fly to Arizona to record some sessions for a training company. I was thrilled again. Humbled. Worried. Scared. Thrilled. Me, they picked me. I did it, and it was OK. I did good enough to be asked back on multiple occasions.<br />
<br />
When it came time for our own community events here in my home state, I volunteered to not only speak, but to help out organize and do tasks and whatnot to help the event be accomplished. I have done this every chance I get, and have even volunteered at regional events. At this same time, I volunteer in various capacities in PASS. Each time I get to do a task, a part of me is thrilled that I was picked. I was allowed to give some of me to something bigger than me.<br />
<br />
After a while, I notice that I may be expecting to be picked, and when this happens, I need to remind myself of the beginnings, and those feelings of humble come back. The scared and thrilled are ever present. But remembering to be humble at being picked is key. Then the level of thrill can remain high when you are picked.<br />
<br />
I have never spoken at the PASS summit, though I have heard some members respond in surprise to this knowledge, as they coulda swore that I had. Nope. I have submitted a couple times, but have not been selected. I have been selected to SQL Saturdays and Code Camps. Once I have been asked to not speak at an event I had submitted to. Besides PASS Summit, I have been accepted to every even I have submitted. Does this make me proud? Yes. But does it mean I deserve it next time? No. I try to temper the pride with the humility of being asked to speak, because remember, that allows the thrilled feelings to be elated.<br />
<br />
<br />
So, in a word, get over yourself. If you are not selected, you will get over it. There will be another opportunity. If you are selected to speak, awesome. Accept it with humility. Be proud you were selected. Prepare to do as good a job as you can do. Do a better job than you did last time you were given this singular honor. Be scared and thrilled. Realize that no matter how much 'celebrity' you think you are, you are just a person. Treat each opportunity like your first and react accordingly. Don't ever loose that excitement that the first infused into your being. And be scared. And be thrilled.<br />
<br />
<br />tjaybelthttp://www.blogger.com/profile/12931880332843056564noreply@blogger.com6tag:blogger.com,1999:blog-10312302.post-59147501811770052932014-06-23T09:15:00.003-07:002014-06-23T09:15:48.539-07:00Can that report run faster?We have a scenario where a report is causing us some grief. Let's call this report 'Revenue'. Let's assume that this report is shown in a 'Leadership' meeting where revenue is an important topic. Let's assume that the presenter in this meeting shows the 'Leadership' team this report by launching it in Report Manager, along with several other reports. All these reports will be used to discuss points of interest in said meeting.<br />
So put yourself in the seat of one of the observers of said report. It is kicked off, and you watch the little spinny do its thing, while you wait for this report to materialize the data and render it visually for you to consume. You wait. And wait.<br />
<br />
How long do you wait before you open up your device and kick off the same report to 'see if you can run it faster' than the presenter? I'm betting a few minutes, maybe 4-5. And if you do that, who else in the room is doing the same thing? Let's assume more than one individual does this, which can cause the other executions to slow, or at least causes your execution to slow.<br />
<br />
This scenario played out a few weeks ago. Presenter kicked off report, which timed out after 8 minutes or so, but at the same time, 4 other individuals also kicked off the report. It was in the middle of these executions that I was contacted to look at said report, and see if I could make it faster. Later that day, as everyone else stopped executing it, the speed of execution dropped to a couple minutes, under 2 minutes. But during the peak of multiple executions, it was taking 8 minutes. (also, that morning, 4 times the normal quantity of reports were being generated. 4 times. as in 4000 reports, instead of 1000 reports)<br />
<br />
Over the past few weeks, I have been digging at this report and looking for solutions to its speed issue. It seems that when normal circumstances prevail, this report can retrieve and render its data in under a minute. That seems acceptable. But under load, it takes time, and causes frustration in the team that needs to consume it.<br />
<br />
This report is written in SSRS and hits our production reporting system that is a SQL Server 2008 R2 system that utilizes several FusionIO drives to speed things along. It is a nice machine and is much faster than our old reporting system. The data seems to be properly indexed. The queries seem to function as expected. So I jumped into caching and snapshotting to investigate alternatives to 'speeding up the report'.<br />
<br />
Let's look at the past execution of this report to see what we are dealing with. Looking into the ExecutionLog view allows us a view into what has transpired with this particular report. I format the time to perform the tasks, and convert it to minutes, so i don't have to think too hard. I have to join to the Catalog to limit the results to the actual report that I want to see. And for sorting, let's order it by the time the report started in descending order to see the latest executions to the older ones.<br />
<br />
<ol>
<li><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">SELECT</span></li>
<li><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"> c.[Name],</span></li>
<li><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"> (TimeDataRetrieval + TimeProcessing + TimeRendering)/60000.00 AS [Time],</span></li>
<li><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"> [RequestType],</span></li>
<li><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"> [TimeStart]</span></li>
<li><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"> from ReportServer.dbo.ExecutionLog el</span></li>
<li><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"> JOIN ReportServer.dbo.Catalog c ON c.ItemID = el.ReportID </span></li>
<li><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"> WHERE c.[Name] = 'revenue'</span></li>
<li><span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"> ORDER BY [TimeStart] desc;</span></li>
</ol>
This query shows me a lot of good information. I can see how many times the report was executed, how long it took, and so on. When I did this for the time frame of issues, I see exactly what I expected. A ton of executions taking a long time, and many many within the same time frames. I can expand this query to add other fields, like UserName to see who executed the report, status to see success or otherwise, among other. Use the fields you want to tell the story of the data. My story showed me that a few individuals had executed the report repeatedly and upon failure, attempted again, and again. As I mentioned, later in the day, it sped up, once everyone stopped hitting it incessantly.<br />
<br />
I went to SSRS Report Manager to drill down to the properties of this report. On the 'Snapshot Options' tab, I enabled 'Allow report history to be created manually' and 'Store all report snapshots in history' checkbox items. In the 'Report History' tab, I saw nothing, as expected. I planned on revisiting this tab to see the progress of adding caching and snapshotting. On the 'Processing Options' tab I chose 'Cache a temporary copy of the report. Expire copy of report after a number of minutes:' and chose 240 as the minutes. I also took this opportunity to select the 'Do not timeout report' option, hoping to allow the slow report to simply continue, instead of eventually dying, which prompts others to try the same thing. And fail.<br />
The last option that I did was to setup a cache plan on the 'Cache Refresh Options' tab. I chose 2 plans, after careful review of the executions seen from the query above. This query helped me see the times that were executed, and when a cache would be most profitable to this report.<br />
<br />
With these 2 cache plans created, and the rest of the options selected, I was happy that the report would run better next week. As Monday rolled around, I was interested to see the results. So I grabbed the above query and executed it mid day Monday, only to encounter report executions. Meaning I could only see individuals that had fired off this report, and the time it took them to render. (which was fast). I was unable to see cache executions. I would have thought that there would be an execution at the times indicated in my cache plan, and I could see how long those took. But this query failed me. To the twitterverse!!!<br />
<br />
After receiving some help from my #SQLFamily via @markvsql, @jasonhorner, @RateControl, and @tameraclark, I was able to create this query.<br />
<br />
<div>
<ol>
<li><span style="font-size: x-small;">SELECT </span></li>
<li><span style="font-size: x-small;"> ItemPath,</span></li>
<li><span style="font-size: x-small;"> (TimeDataRetrieval + TimeProcessing + TimeRendering)/60000 AS [Time],</span></li>
<li><span style="font-size: x-small;"> [RequestType], </span></li>
<li><span style="font-size: x-small;"> [TimeStart]</span></li>
<li><span style="font-size: x-small;"> from ReportServer.dbo.ExecutionLog3 el</span></li>
<li><span style="font-size: x-small;"> WHERE </span><span style="font-size: x-small;">[ItemPath] like '%revenue%'</span></li>
<li><span style="font-size: x-small;"> ORDER BY [TimeStart] desc</span></li>
</ol>
<ol></ol>
<ol></ol>
<ol></ol>
<ol></ol>
<ol></ol>
<ol></ol>
<ol></ol>
<ol></ol>
</div>
<div>
<br /></div>
This uses ExecutionLog3, which has different fields in its view. Happily, some of these fields are exactly what I need. I can add into the where clause options to show 'Interactive' (ran by a human) or 'Refresh Cache' (ran by the caching mechanism) and see how long each took.<br />
<br />
Looking at these results showed that the cache took longer than the interactives, as expected. But when you compare the 'Interactive' times to pre cache times, the results are astounding. The caching takes a chunk of time, and then subsequent executions are tremendously smaller in execution time. Meaning, let the system create the cache on its cache plan schedule, and then the humans can simply run the report, and get the cached results quickly. No more multiple executions. We went down from 28 executions that never seemed to complete, to 4-5 that are a lot faster.<br />
<br />
After a few Mondays, and reviews of the resultant data, I believe I have narrowed it down to the appropriate options. I kick off the cache about a half hour before the meeting on Monday morning, and then again at noon. This allows for caching of the report data twice on a Monday, allowing the 'Leadership' meeting to have quick report executions, and cached data in the morning, and the noon cache allows for other teams to utilizes a fresher cache in their afternoon meetings. But as soon as the cache reaches 240 minutes, it expires, which reverts users back to non cached data retrieval. The rest of the week the report should run quickly in the random times it needs to run.<br />
<br />
Point of this story is that it is important to use data to make data faster. And not a single solution is better than the other, and the appropriate solution may be something you are unfamiliar with. I did not know or utilize caching in reports much prior to this. I would have normally added indexes and tweeked the queries used to perform the data retrieval, trying to squeeze all the juice out of them that I could. But a simpler solution was to understand the use of this report, compare to other non peak time of use, and adjust appropriately.<br />
<br />
I believe that this solution is valuable, and suits my needs, and satisfies the users of this report. Thus I share it with you in the hopes you too can learn as I did.<br />
<br />
<br />
tjaybelthttp://www.blogger.com/profile/12931880332843056564noreply@blogger.com0tag:blogger.com,1999:blog-10312302.post-48695113912050781702014-04-17T09:59:00.001-07:002014-04-17T09:59:45.892-07:00SQL Saturday #295 Las Vegas wrapup(written while disconnected in the southern desert of Utah on April 8th)<br />
<br />
<br />
This last weekend found me travelling to Las Vegas to help celebrate its first SQL Saturday ever. The team of Stacia Misner, Jason Brimhall, as well as a slew of others, were able to stand up a great event that drew a descent opening round as well as great support from local, regional and remote speakers.<br />
<br />
As it is only a few hours (6) from my home, we decided to go as a family, spend some time in Vegas, then start a Spring Break week vacation afterwards. Various options were discussed in my family, and it was decided that we would go camping and dirt biking after an extra bit of time in Vegas. This requires us to load up anb haul our camper somewhere. We chose to camp and bike in St. George, which is partway to Las Vegas. We found a location where we could drop off our trailer and leave it for a few days while we spent time in Las Vegas.<br />
<br />
The fateful day came when we left to make our way south. With the trailer loaded and ready we took off around 10:30 am, with 2 planned stops that would consume an hour or so, extending the trip from 6 hours to about 7 hours.<br />
<br />
The first stop occurred as planned, and I even saved $20 I wasn't planning on. Yeah, its always nice to save money. Around 11:30 am we left that stop and headed south. We passed a town called Nephi that is an hour plus from our home. As we pass this town, there is a large gap of towns that usually means you are really on your way. The trip underway, we get excited to be going. Its about this time that I hear a small explosion from the left side of our vehicle, and am alerted to flying debris from the mirror. Having never experienced a blow out on a tire, I was surprised at how I simply knew what had happened. Blowout. Yeah. less than 200 miles from our home and at the beginning of the tirp, boom. I pull over semi gracefully and get stopped to inspect the damage. As I exit the vehicle, I grab my nexus 5 cell phone so I can take pictures, if needed. As I exit, the phone slips from my hand and lands screen down on the pavement. It looks fine, but I can tell that it just added to the cost we had just had shoved down our throats with the blowout. Sure enough, the screen was cracked before I could even go see the damage behind us. It turns out that only 1 of the 4 trailer tires blew, which explains why it was easy to pull over after I saw the tire pieces in my mirror escaping their previously contained existence.<br />
<br />
After several phone calls, we found a tire dealer that could send out help. When Ben arrived, he was able to pull the borked tire off our trailer. While he was there, I inquired as to his expert opinion concerning the other tires. The prognosis was rather negative, and while he returned to his shop to fix the 1 tire, we deliberated what we should do. Several options lay in front of us. Replace the single tire, replace the other partner tire on that side, replace all 4, take the trailer back home, continue on with some or all tires replaced, and so on. Ugghh. When Ben returned with a brand new tire, we were able to get it mounted easily. We had decided to return to Nephi and get all 4 tires replaced. The tires were from 2007, and though they didn't have a ton of wear and were actually had plenty of tread left, there was evidence of age and cracking visually. The time had come, we just hadn't planned on it. The tire store was amazing and got us fixed up really quickly and on the road again. 2.5 hours delayed, but on our way. Let SQL Saturday trip begin, again.<br />
<br />
Back on the road again, with stress levels high, we got to experience them even higher as the winds blew us all over the road for the next 4 hours. At some points during the trip I had to remove my hands from the wheel and shake them out because of holding on so hard to counteract the pull of the wind gusts. Stress was a constant companion. Eventually we made it to St. George and were successfull in dropping off the trailer at storage. Phase one of the trip was complete. On to Vegas, just hours and hours delayed.<br />
<br />
We arrived in Vegas about 20 minutes after the speaker dinner started. I went in to the dinner to grab some keys to our hotel (SQL Solutions Group had a suite of rooms rented for us and had checked in already). I intended to grab and go, but ended up hanging out a bit to talk and say hi to #SQLFAMILY members before getting my family to the hotel. After dropping the kiddos off at the hotel, my wife and I returned to the dinner and had a great time catching up with folks. It is always fun to introduce my wife to the members of my other family. The dinner that was thrown for the speakers was delicious. The gifts given to speakers were spot on for the locale. A deck of cards with the SQL Saturday Las Vegas logo, a handful of similarly logoed poker chips and a usb jump drive shaped like a poker chip. Turns out my cards have 2 5's of clubs and no 4 of clubs. But #firstworldproblems aside, I love the cards and enjoyed playing card games with my family and with them already.<br />
<br />
At the dinner, I was able to meet and talk with several of the volunteers that would be helping out in the morning. Questions were answered, tasks discussed, and times set to meet in the morning to get it going.<br />
The next morning I awoke late, but was at the facility a little after 7am. I grabbed the signs and went back out to the various roads to put up the directional signs to help attendees find the facility. The morning in the desert was glorious, warm, wind blowing slightly, and bright blue skies. ?I ran around with my truck and the signs and the radio blaring, pounding the sign holders into the bedrock around the area. Once complete, I returned to the facility and said more "Hi's" to folks as well as started doing various volunteer tasks. The morning got going with a couple of hiccups, mainly the printing of SpeedPasses had some issues. The rooms were up on the third floor and we found attendees had an issue initially getting around and finding the rooms and getting around. Once the layout was understood, folks had less of an issue with it. It turned out that the printed map had a typo that also lent to this confusion. It was a problem, but not a large one, and once communicated out, it was overcome. The location of the vendors was not ideal, and lent to light foot traffic to visit the vendors. This should be remedied next time if this facility is reused. The location for lunch was ideal as it was the largest room and also served as one of the session rooms. So once lunch arrived, attendees and speakers knew where it was and easily found their way there. Lunch had been catered and the catering folks did a great job keeping the supply available as the attendees flowed thru to get food. The food was good and probably one of the best lunch selections I have had at an event like this. There was a sponsor for lunch, which may have helped it be such good food as well as catered. I likey.<br />
<br />
The facility was a bit odd, and one of the rooms had almost lounge chairs to sit in instead of the normal desk and office type chairs. The speaker stations were really high tech and had an ipad controller to select all the options for display. Initially I thought that this may prove to be a problem as each new speaker took the station, but it turned out to not be an issue, as the previous speaker had already selected the options and left it ready to go. The speaker ready room was large enough for a few speakers to get ready in, and small enough that all the speakers were unable to hang out the entire day there. This is a good thing, as it forced speakers to get out and around the event, instead of holing up in the speaker room. It was also centrally located and lent to a good flow. It's nice when the speaker room is not off in a far off location of the facility.<br />
<br />
When the last session was completed, we all adjourned to the lunch room and got to listen to a sponsor session from Microsoft. This was a bit odd, and luckily was not the entire half hour as previously mentioned. Since it was a large room, folks gathered in the back of the room and started talking. These conversations became loud enough that the attendees actually trying to listen started turning around and giving 'that look'. Truth be told, i was one talking and received 'that look'. Suffice it to say, the location in the big room and the gathering of us all there, was not ideal for an after session. Maybe it would have been better to let folks know to convene in the big room at 5:30, after the sponsor session was over, instead of 5:00 and talking. But its never a perfect science.<br />
<br />
After the sponsor session, the attendees were able to receive the large prizes from the sponsors. Each sponsor was given a moment to talk and give out their prizes. A lot of folks were able to receive some great prizes and they all looked happy. Once completed with the giveaways, Stacia and Jason were able to sell the event for next time, as well as PASS and the local user group. Hopefully this activity will have instilled in the local populace the excitement that we have all felt, and propel them to continue building these communities, networking with locals as well as others in the community, and help themselves and their careers.<br />
<br />
There was an after party and though not everyone attends these, enough folks did that we were able to hang out a bit and ultimately say our good byes to the #SQLFAMILY members we did get to see. Hugs, shakes and networking completed, we went our separate ways. Some returning to hotels, others going to the airport, and still others heading out to be entertained by the Vegas nightlife. Thus bringing to and end, the event, the learning, and the networking. Another one in the bag.<br />
<br />
Thanks to all organizers, volunteers, speakers and attendees. Let's hope that this is the start of many more to come.<br />
<br />tjaybelthttp://www.blogger.com/profile/12931880332843056564noreply@blogger.com0tag:blogger.com,1999:blog-10312302.post-90303854141691355902014-04-02T08:23:00.000-07:002014-04-02T08:23:12.006-07:00SQL Saturday #295 in Las Vegas – April 5, 2014<h1 class="entry-title" style="clear: both; color: #04648d; font-family: BevanRegular, Georgia, Times, 'Times New Roman', serif; font-size: 22px; font-weight: normal; line-height: 1.3em; margin: 0px 0px 5px;">
SQL Saturday #295 in Las Vegas – April 5, 2014</h1>
<div class="byline" style="color: #999999; font-family: Arial, Verdana, sans-serif; font-size: 12px; line-height: 25px; margin: 0px 0px 5px;">
<br /></div>
<div class="byline" style="color: #999999; font-family: Arial, Verdana, sans-serif; font-size: 12px; line-height: 25px; margin: 0px 0px 5px;">
<div class="MsoNormal">
<span style="font-family: Arial, sans-serif; font-size: 9pt; line-height: 12.84000015258789px;">This weekend, </span><span style="color: #04648d; font-family: "Arial","sans-serif";"><a href="http://www.sqlsaturday.com/295/eventhome.aspx">SQL Saturday #29<u>5</u></a></span><span style="color: #333333; font-family: "Arial","sans-serif";"> </span><span style="font-family: Arial, sans-serif; font-size: 9pt; line-height: 12.84000015258789px;">is in Las Vegas. I am lucky enough to have been selected to present a session. I speak at 11:30 AM in DBA - Room 2 on some tips that I have used to help me with <a href="http://www.sqlsaturday.com/viewsession.aspx?sat=295&sessionid=20458">Monitoring</a>. I have given this session before and really enjoy the topic, as well as the discussions that come from it.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: Arial, sans-serif; font-size: 9pt; line-height: 12.84000015258789px;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: Arial, sans-serif; font-size: 9pt; line-height: 12.84000015258789px;">As I have had to create and maintain monitoring on various machines, database servers, services and processes, I wanted to help others with some of the pain I have overcome. I got to learn powershell as a result of this process. Doing this task for my own shop has helped me learn and I enjoy sharing this with others. </span><br />
<span style="font-family: Arial, sans-serif; font-size: 9pt; line-height: 12.84000015258789px;"><br /></span>
<span style="font-family: Arial, sans-serif; font-size: 9pt; line-height: 12.84000015258789px;">In this session, I hope to really share with you my experience, examples and tricks, and hope that you will be inspired to improve your own shop, make a change for the better, and come out of this session with something gained, be it directly related to what I talk and show or not, it matters not to me. Just that you are inspired, and become better for that inspiration.</span></div>
<div class="MsoNormal">
<span style="font-family: Arial, sans-serif; font-size: 9pt; line-height: 12.84000015258789px;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: Arial, sans-serif; font-size: 9pt; line-height: 12.84000015258789px;">I am bringing my entire family with me to Las Vegas for the weekend and we will start a spring break vacation after this event has concluded. We all </span><span style="font-family: Arial, sans-serif; font-size: 9pt; line-height: 12.84000015258789px;">look forward to a days of warm weather. After spending a few days in Vegas, we will go back north, and go camping and dirtbiking for the rest of the week. Returning home on friday and flying out to the next SQL Saturday even in Colorado springs. </span></div>
<div class="MsoNormal">
<span style="font-family: Arial, sans-serif; font-size: 9pt; line-height: 12.84000015258789px;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: Arial, sans-serif; font-size: 9pt; line-height: 12.84000015258789px;">If you can make it out to this free event, please do. Come and learn and network and experience the #SQLFamily as we share and grow together. <o:p></o:p></span></div>
</div>
<br />
<div class="byline" style="color: #999999; font-family: Arial, Verdana, sans-serif; font-size: 12px; line-height: 25px; margin: 0px 0px 5px;">
</div>
<br />
<div class="byline" style="-webkit-text-stroke-width: 0px; color: #999999; font-family: Arial, Verdana, sans-serif; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 25px; margin: 0px 0px 5px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px;">
<div style="margin: 0px;">
<span style="color: #333333; font-size: 1em; line-height: 1.5em;"><br /></span></div>
</div>
tjaybelthttp://www.blogger.com/profile/12931880332843056564noreply@blogger.com0tag:blogger.com,1999:blog-10312302.post-2145226075161008392014-04-01T15:02:00.001-07:002014-04-01T15:02:21.261-07:00SQL Saturday #279 Phoenix wrapupThis last Saturday I had the opportunity to go from 29 degree mornings to the Arizona desert and 70 degrees during the day. Looking at it that way, it wasn't much of a choice. The weather was nice and very enjoyable. Thanks for having it. If whoever was in charge of that weather, please send some my way.<br />
<div>
<br /></div>
<div>
But back to the event. I took off from Utah around lunchtime and flew down to Phoenix with Randy Knight and Jason Brimhall of SQL Solutions Group fame. We had an uneventful flight down, with rough weather on both takeoff and landing. Landing in Phoenix with clothing on the bottom halves of my legs seemed like a bad idea and was remediated quickly. The evening found us at a baseball game with the rest of the speakers. Amy Lewis and crew were able to acquire tickets to the D-Backs vs Cubs game. We also got vouchers to get food in the local offerings. After standing in line for 15 minutes and waiting for a my food for a half hour I had a descent burger with some incredible garlic fries. They tasted amazing. And hours, even days later, they still tasted great. Just kidding, but they did hang around for quite a while. I enjoyed them for most of the time that they were with me. The game was disappointing if you were a DBack fan, but it was still enjoyable, with some great plays and tense moments, as well as some great time to mingle and talk with all the folks attending the event. It is always like the first day of summer camp when you get to see all your friends and catch up with them, telling stories, comparing, sharing and simply enjoying each others company. Mixing and talking to everyone, watching the game, repeating, I think that we all had a blast. With the game over, folks broke up into groups and disappeared, the evening almost over and the next day looming.</div>
<div>
<br /></div>
<div>
Luckily I was able to return to the hotel and not have to dig into and demos or slides, as my presentations were ready to go. I know that some were not so fortunate and went back to do more work on session prep or even more real work. Saturday was rapidly approaching and i am sure we all made it there in different way. But collect again we did, the morning of Saturday at the event. More mixing and mingling and reuniting with old friends not seen the night before occurred. The morning started with some great bfast snacks and a keynote in a large windowed room with garage door openings and massive fans. One can imagine the doors opened and the fans pushing the air around. However, since the weather was just nice and not insanely hot like Phoenix can be, the room was nice, with the blue skies glowing softly outside. </div>
<div>
<br /></div>
<div>
After the keynote, folks traveled to 3 different buildings on campus to attend from 11 distinct sessions. I was up for the first session hour and had the opportunity to speak on Release Management. The session time came and I only had 2 attendees and the room monitor that was forced to attend. We waited for a bit past the start time and a few more folks came in, bringing the total up to 8. So an intimate session it was, with discussion and sharing, and me blathering on about my experiences and ideas on how to keep change from impacting us negatively in our production environments. I believe that the session was well received and I enjoyed giving it and interacting with the attendees. </div>
<div>
<br /></div>
<div>
More sessions came until the lunch hour. We reunited back in the large room with the glass and glass garage doors and massive fans. Pizza and pasta and salad was on the menu as well as networking and story telling. Food was consumed and connections made. SQL was discussed and plans were made. </div>
<div>
<br /></div>
<div>
Sessions resumed in the 3 locations and more learning was presumably acquired by the attendees and speakers. I got to listen to parts of 2 sessions in the afternoon and learned a few things, and need to make follow up to learn more. I love being able to have access to such great knowledge and experience. Keying into the right people and making those contacts to forge even stronger relationships through learning is what these events are about for me. Sharing and learning.</div>
<div>
<br /></div>
<div>
The last hour of the event found me in a room with nearly 20 other folks discussing the gloriously exciting topic of Documentation. One would not think that I could get even my closest friends tricked into coming to my session of documentation, let alone 20 strangers, but alas, this is what happened. After a lively discussion that strangely started out with an explanation of my name and ended with folks wanting to get copies of my documentation, I finished the session. </div>
<div>
<br /></div>
<div>
With the session ended and the final group session beginning, the attendees that were left were energized at the chance to receive presents. We went to the keynote room and swag was given out to a ton of folks. Books, licenses and more was given away. </div>
<div>
<br /></div>
<div>
Cleanup started, goodbyes were hugged out, and eventually attendees, speakers and volunteers finished and parted ways. Some to the airport, some to hotels, some back to their homes and some went to the after party at a local watering hole. More networking and stories occurred, which eventually led to more hugging and departing friends. Some of us were talked into going to a Packers Bar to witness the lovely Tim Mitchel and Kathy Kellenberger sing karaoke. After some descent performances and some, well, other performances, we were treated to our favorites sing 'Babe' to the packed bar. After that, more hugs and goodbyes. And it was over.<br />
<br />
I enjoyed the venue. The keynote room was large and spacious, with views to the outside making it feel larger than it was. The speaker room was spacious and allowed folks to spread out and practice their craft. There was also a speaker lounge just outside the serious room where seats enough for a few more speakers to kick back and chat. One could wander in here and always find someone to talk with and scheme. The rooms were not all together, which i heard a few 'complaints' about. In quotes because they were not hearty complaints, more a discussion. But having them grouped together as they were was helpful. one could go from 1 to the next easily. Once inside the rooms, with the doors even open, it provided enough space and quiet to perform the session well without outside interruptions. Having the sponsors on the way to the sessions outside one of the buildings was a great idea, letting folks chat up the sponsors without impacting any of the rooms or hallways. And being outside was glorious. The parking was plentiful and close to the venue. The venue was close to the freeway and easily accessible. I really have no complaints about this event that would even help it be better next year. It was well done, the volunteers kept the machine running along well, and you could tell that they had had some practice with previous years, and this year it just coasted along smoothly, giving everyone a great experience.<br />
<br />
My thanks to the sponsors and volunteers that put the event on. Thanks to the speakers that came from near and far to help with the event. And a very special thanks to the attendees for giving up their Saturday to come out and get some SQL learning on.<br />
<br />
Cya next year!!</div>
<div>
<br />
<br /></div>
<div>
<br /></div>
tjaybelthttp://www.blogger.com/profile/12931880332843056564noreply@blogger.com0tag:blogger.com,1999:blog-10312302.post-27312998827497532622014-03-26T13:49:00.000-07:002014-03-26T13:49:04.764-07:00SQL Saturday #279 in Phoenix – March 29, 2014<h1 class="entry-title" style="clear: both; color: #04648d; font-family: BevanRegular, Georgia, Times, 'Times New Roman', serif; font-size: 22px; font-weight: normal; line-height: 1.3em; margin: 0px 0px 5px;">
SQL Saturday #279 in Phoenix – March 29, 2014</h1>
<div class="byline" style="color: #999999; font-family: Arial, Verdana, sans-serif; font-size: 12px; line-height: 25px; margin: 0px 0px 5px;">
<br /></div>
<div class="byline" style="color: #999999; font-family: Arial, Verdana, sans-serif; font-size: 12px; line-height: 25px; margin: 0px 0px 5px;">
<div class="MsoNormal">
<span style="font-family: Arial, sans-serif; font-size: 9pt; line-height: 107%;">This weekend, </span><a href="http://www.sqlsaturday.com/279/eventhome.aspx" sl-processed="1"><span style="color: #04648d; font-family: "Arial","sans-serif";">SQL
Saturday #279</span></a><span style="color: #333333; font-family: "Arial","sans-serif";"> </span><span style="font-family: Arial, sans-serif; font-size: 9pt; line-height: 107%;">is in Phoenix. I am
lucky enough to have been selected to present 2 sessions. I speak at 9:45 AM in DBA - Room: Room 4 on
some tips that I have used to help me with Release Management. I also speak at
4:00 PM in that same room on Documentation. I have given these sessions before
and really enjoy the topics, as well as the discussions that come from them. <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: Arial, sans-serif; font-size: 9pt; line-height: 107%;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: Arial, sans-serif; font-size: 9pt; line-height: 107%;">Since we always will have to make changes
to our production systems, coming up with a descent plan of attack that can be
repeated to allow controlled and graceful change to occur seems like a no
brainer to me. I have spent a lot of time in different organizations fine
tuning processes to allow for this to occur, and it is always changing. <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: Arial, sans-serif; font-size: 9pt; line-height: 107%;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: Arial, sans-serif; font-size: 9pt; line-height: 107%;">I believe that every person in this and
many other fields of work would tell you that we lack documentation. Maybe
authors don’t complain about that. But I bet a lot of others will agree. What
to document, when, how, and so on. I hope in this session to give you a slew of
examples, templates and ideas on how to document the things that matter most to
you. <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: Arial, sans-serif; font-size: 9pt; line-height: 107%;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: Arial, sans-serif; font-size: 9pt; line-height: 107%;">In both of these sessions, I hope to really
share with you my experience, examples and tricks, and hope that you will be
inspired to improve your own shop, make a change for the better, and come out
of these sessions with something gained, be it directly related to what I talk
and show or not, it matters not to me. Just that you are inspired, and become
better for that inspiration. <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: Arial, sans-serif; font-size: 9pt; line-height: 107%;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: Arial, sans-serif; font-size: 9pt; line-height: 107%;">It has been a long time since I was in the
Phoenix area, and with the winter we have had, I look forward to a tease of
warm weather for a couple days. <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: Arial, sans-serif; font-size: 9pt; line-height: 107%;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: Arial, sans-serif; font-size: 9pt; line-height: 107%;">If you can make it out to this free event,
please do. Come and learn and network and experience the #SQLFamily as we share
and grow together. <o:p></o:p></span></div>
</div>
<div class="byline" style="color: #999999; font-family: Arial, Verdana, sans-serif; font-size: 12px; line-height: 25px; margin: 0px 0px 5px;">
<span style="color: #333333; font-size: 1em; line-height: 1.5em;"><br /></span></div>
<div class="byline" style="color: #999999; font-family: Arial, Verdana, sans-serif; font-size: 12px; line-height: 25px; margin: 0px 0px 5px;">
<span style="color: #333333; font-size: 1em; line-height: 1.5em;"><br /></span></div>
tjaybelthttp://www.blogger.com/profile/12931880332843056564noreply@blogger.com0tag:blogger.com,1999:blog-10312302.post-91296654904253318902014-03-25T15:14:00.002-07:002014-03-25T15:15:55.898-07:00upgrade to downgrade and pull some hair out while you troubleshoot<div class="MsoNormal">
I have a Monitoring system that houses RedGate SQL Monitor, as well as home grown monitoring solutions. It is called VOO1DBMGR1. When this system was stood up, a version of SQL Server 2012 was used that shouldn't have been. It was an Enterprise Eval version. It should have been the licensed Dev version we bought for this purpose, but without going back in time, its tough to change. </div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
But change it needed. I needed to upgrade it, or downgrade it, as it were. We wanted to go from Ent to Dev on sql server 2012. A testing VM was stood up to help with the process.</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
After several tests on testing VM that was configured for
me to play with, I have installed and uninstalled and upgraded and removed SQL
Server 2012 a bunch of times. After reading several <a href="http://www.mssqlgirl.com/upgrading-from-sql-server-2012-evaluation-edition.html">blogs </a>and articles, I found
a path to upgrade (or downgrade in this case). Once the eval time expired, things stopped working like SQL Server Management Studio stopped working on
box. It would error upon launch. One could continue to connect to it remotely
via SSMS, but not locally. Also, when one shut of SQL Services on box, one was
unable to start them again without setting the date back into the distant past
and resetting the date once services started up again. This proved to be a
problem. <o:p></o:p><o:p> </o:p></div>
<div class="MsoNormal">
<o:p><br /></o:p></div>
<div class="MsoNormal">
I discovered that once SQL Server 2012 was installed with an
evaluation version, I could do a version upgrade with a properly keyed
installation. We downloaded an iso from MSDN which embedded our key in it, and
I was able to use this version to upgrade (downgrade actually) the version.
Since it was already an Enterprise version, and we wanted Developer, it was a
downgrade, but the same process could be used. So you select upgrade, it steps
you thru several other steps of information before performing its operations.
When done, the version has been changed. I even ran some powershell script the
last time on the test system to determine that the service actually went down a
couple times for a few seconds while it was upgrading.</div>
<div class="MsoNormal">
<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
So, it was time to perform this on VOO1DBMGR1. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
I copied the same MSDN iso we used in the testing
environment, and ran it. Since the key is embedded, when it comes to that
screen, it’s there already, and not in ‘evaluation mode’ like the previous install
was. I had the powershell script running elsewhere so I could watch the service
status. As the upgrade proceeded, I saw that the service went down via the
powershell script. But it wasn't for a few seconds. It simply kept reporting
that it was down. When I looked at the upgrade process screen, it was simply
working. Not locked. Not ‘Not Responding’. Just doing. Going. Working. But no
real response from it.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
I waited.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Then I looked at the windows application logs, and saw that
an attempt to start the SQL Service had been attempted, and failed. The reason?
‘SQL Server evaluation period has expired.’ But that should have been taken
care of with the upgrade, no? I believe so. That’s what happened in the test
environment. But not here. 3 attempts so far. I looked into the ErrorLog of SQL
Server itself, and it had a typical start-up sequence, but then the same error
about the evaluation period expiring. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Hum.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
In the past, when the service didn't start, I simply set it
back to 3/1/2012. And viola, it would start up services, and then I was free to
reset the date. It made me feel cheap, but I did it anyway. It’s for the
greater good. So, while the upgrade process was obviously stuck in a loop, I
gritted my teeth and changed the date. <o:p></o:p></div>
<div class="MsoNormal">
I was prompted with some odd screen that said it couldn't complete
an operation and would I like to retry. I said yes. It asked again. I said
retry. It asked yet again, and in a fit of madness, I answered the same way.
The next time it asked, I canceled the screen. At which time I was prompted
with the upgrade utility, and all greens across the board, and it letting me
know that it had successfully completed its activity. I beg to differ, but
defer to its better judgment. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
I looked for my SQL Service, and it was up and running. I
logged in with SSMS (an act I was prohibited from doing for oh too long on this
machine) and was successful. Once in SSMS, I was able to detect that the
upgrade had actually performed its operation and the version was as expected.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
I set the date back to today, to shake off those cobwebs of
uncertainty. I then turned off the SQL
Service, without the date being set back to 2012. And found that the services
were able to turn on and off at will now, without getting dirty. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
All seemed well. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Then I tried to test something from my machine, and I
encountered a slew of errors. Were these related? At first, would think so. But
after some breathing exercises and several tests, along with a reboot of my
machine, all was well again.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<o:p>All is well.</o:p></div>
<div class="MsoNormal">
<o:p><br /></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b>Short version. </b><o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
VOO1DBMGR1, our trusty monitoring server is now on a fully
licensed and has a proper version. SSMS is once again able to run on box. Remote
connections are functioning as expected. Monitoring systems are up and running.
And SQL Services act well now, which will allow them to be shut down for random
maintenance. <o:p></o:p></div>
<br />
<div class="MsoNormal">
<br /></div>
tjaybelthttp://www.blogger.com/profile/12931880332843056564noreply@blogger.com1tag:blogger.com,1999:blog-10312302.post-34723719642546467202014-02-19T08:18:00.001-08:002014-02-19T08:18:23.679-08:00Release Management : planning meetingsAfter avoiding the obvious for a while now, we have decided to institute recurring planning meetings to cover only Release Management tasks. Heretofore we allowed these conversations to occur naturally, when needed, and with whom needed to be present. This usually involved someone in the development arena talking to someone that would push code changes into production. Few more were involved. And to the detriment of others, others were not always included.<br />
<br />
The good of this method of informing of 'need to change' is that it is organic, non planned, skips meetings (everyone hates meetings) and has the randomness that is requisite at times to be agile and allow change to occur. A process was still followed, but it was executed at random times. This is a plus to those that want to keep light on their feet.<br />
<br />
The bad is that this method forces change into a system that should and could take a bit more planning prior to execution. Regardless of how agile your development teams want to be, changing production is fraught with potential disaster. Small change or even well choreographed large change can impact a system minimally and leave no lasting scaring. However, rushed, inconsiderate change, can wreak havoc. This is the type of change that is likely to occur in a rushed or unplanned manner.<br />
<br />
So a process was instituted at least at the inception of the change request so that several necessary tasks could flow upon knowledge of an impending change. If we stuck to the task list and performed them satisfactorily, we were usually successful. Not always. But usually. Tweeks occur as time passes, and the process is tightened.<br />
<br />
Fast forward to today. We now realize that this method of singular knowledge sharing with a select few was detrimental to others in the organization. Some poor business analyst on the north end of the building had no idea that one of his favorite tables just suffered a drastic change and the fields he commonly referred to in his reporting were just altered inextricably, and he had no forewarning of said changes. No one thought to let him know and his reports now suffer. Sad. But no one knew. Well, someone knew, eventually, but to the chagrin of those displaying the information to others, probably some executive in a plush conference room. Oops.<br />
<br />
So we now have instituted a recurring meeting (uugghh, peal the skin from my face would be a better use of my time...). In this meeting, we invite many. Hopefully all. But for now, many folks. These folks were chosen for their potential interest in change to our production system. They now have the option to attend a brief meeting and hear discussion of potential changes to the production system. Here is a forum in which they can ask why, when, and why. Conversations can begin here and continue to the satisfaction of all parties. Plans will be made as to when the change will occur. Bartering as to how this change can be introduced with the least impact will ensue. Parties will be informed, knowledge shared, and life will move forward.<br />
<br />
The changes will still involve a select few. The process to perform the change and even prepare for the change will remain similar to before. Tasks being accomplished, questions asked and answered, plans created, testing, and so on. But with this little recurring planning meeting, folks are informed. Change is much less drastic and caustic. Acceptance can begin much earlier in the process and anything needing to be tweeked to allow and accept this change can be implemented much earlier in the process. No more waiting for someone else to point out the flaw, later in a meeting, and hopefully not in front of C level folks you are trying to impress.<br />
<br />
Start with small tweeks to your Release Management process. See how you can improve it. Add some oil here, change a gear there, and before you know it, your machine that drives and introduces change into your production topology will be so smooth you won't even hear it purring along gracefully.<br />
<br />
<br />tjaybelthttp://www.blogger.com/profile/12931880332843056564noreply@blogger.com2tag:blogger.com,1999:blog-10312302.post-22491689467748532122014-02-13T15:40:00.000-08:002014-02-13T15:42:56.158-08:00Be tenaciousA Release Management tale<br />
<br />
<br />
Last night we performed a Release that affected a production database and a website. It was a fairly simple release, and we had done the same steps previously. So with a little effort, we prepared the Release Plan which contains the steps to be performed, and executed on those after hours. Within 15 minutes, all backups and snapshots and the like were done. Within a few more minutes, all new code had been successfully pushed out. Testing ensued and the Release was labeled a success.<br />
<br />
We all finished up our tasks, our compares, our post snapshots, documentations, and so on. Emails were sent, and we logged off. All was well.<br />
<br />
Until the morning.<br />
<br />
The users, darn them, starting using the website and noticing some issues. They complained. Those complaints reached our ears early in the morning, before most of us made it in to the office. So from comfy home office chairs, we logged in and started looking around. Email was the form of communication initially, but this became burdensome to await for responses, and a chat room was opened up in our internal IM product so we could talk more freely.<br />
<br />
Initially, there were members of the troubleshooting team that wanted action. Something is broke and its only natural to want to fix it as quickly as possible. Especially since users were using it and seeing the issues. Its different at night when no one is online. Less pressure then. But now, in the morning time, people are anxious and that transfers rather quickly to the rest of us.<br />
<br />
I had to say no. We are not just going to roll back. Just be patient.<br />
<br />
Once we all gathered and started troubleshooting, we could dig into the why. What was happening. What we thought was happening. Reading logs. Watching processes. Watching memory. And so on. At one point we even said that it was not the database. And it was suggested that I could go back to my normal tasks. But I stuck around. I didn't feel confident that we knew what was going on, and even though I could show that the database was not under any duress, I stuck it out. I kept working on it. I helped, we all helped. Others were brought in to the mix and their ideas were considered.<br />
<br />
Fast forward. We still do not know what is happening, except that the IIS server will get a lot of memory pressure, the site will cease to function, and once it all blows up, things start over, and the site seems to work. We see this over and over. Users are in there. We are in there. All of us contributing, but there is still no smoking gun.<br />
<br />
So I open Profiler and limit it to the particular database and web server that is having an issue. We capture everything that is happening on the db, which is a lot, and just cross our fingers. After a few more iterations of the memory consumption and release, I notice a repeating query in the profiler, just as all hell breaks loose. Its the last statement, seemingly, that was trying to execute. I grab it as is, and attempt to run it raw. It gives a divide by zero error.<br />
<br />
Divide by Zero!<br />
<br />
What is this query doing? Does anyone recognize it? does it have anything to do with what we pushed last night? Is data goofed? And other relevant questions were asked. After digging a bit, sure enough, deep in a view that was altered last night, a field was being divided by, and it could be zero on occasion.<br />
<br />
I hear a muffled 'Oops' escape the developer standing behind me. 'How did that get past testing?', he asks no one in particular. We discuss for a bit, come up with a solution, and make an alteration on the fly in production that fixes this little issue. After that, the query run raw was able to complete. And as soon as we made the change, we notice the memory consumption and explosion slow down.<br />
<br />
It didn't cease, but it did slow.<br />
<br />
This gave us more time. More time to look deeper. We continued to watch the Profiler results. We continued to perform tests, and we continued to see the web server work for a bit, then struggle, then use all its memory, then flush everything and continue on as if it had a goldfish sized memory. All's well now, lets go. seemingly forgetting that mere seconds ago it had used and flushed all its memory.<br />
<br />
Another query started being the last query executed just prior to the spike in memory usage. As I captured and executed this manually, it too gave us an error. Something about a field it couldn't find in the db. Some field that looked like a valid field, yet it didn't exist. After pointing it out to the developer, he incredulously stammered something like 'where did that come from?'. Turns out that the staging environment had an extra field. This field was built in to the middle ware code that had been generated, and now was trying to do its thing against production where no such field exists.<br />
<br />
And the web server simply crashed.<br />
<br />
Instead of throwing an error that was helpful, or logging that it got a bad result or no result or some error, it simply kept attempting the query, letting its memory consumption expand to biblical proportions, and come crashing down. Only to try again in a few minutes, as if it had no memory of the preceding few minutes.<br />
<br />
So now we fix it.<br />
<br />
Now we know what is causing it. And the quickest route to fixing it is to roll back. Roll back all the changes and the site should work like it did yesterday. Not like an Alzheimer patient continually performing the same unsuccessful task. Roll back the code.<br />
<br />
The point here is that more than half this story ago you will recall that was the suggestion. Roll it back. But that suggestion was in the heat of the moment. Something was broke. We changed something. Roll it back. If we had done this, then the 2 pieces of code that were hiding well hidden within would have never been known or fixed. Dev would have re factored the release, we would have performed it again on another day, probably tested a lot better, and found the same results. Something not working right, and we had no idea what.<br />
<br />
So it took us a few hours. So it was frustrating. So the users were unable to use the site for a bit. With sufficient communication, we let the users know. They were placated. With some time, we dug and dug and discussed, and tried, and ultimately found the culprits. Silly little things bugs are. Scampering here and there, just out of the corners of your eyes. But havoc is being caused, until they are eradicated.<br />
<br />
I am happy that the end result was more knowledge, time spent in the forge of troubleshooting, and an actual cause to the problem instead of a quick acting rollback, ultimately hiding the problem, but reverting us to a known state.<br />
<br />
Its the unknown that kills you. Or if not kills you, at least puts a damper on your day.<br />
<br />
Be patient. Be thorough. Be smart. Be tenacious.<br />
<br />tjaybelthttp://www.blogger.com/profile/12931880332843056564noreply@blogger.com1tag:blogger.com,1999:blog-10312302.post-13336188957364567802014-01-29T09:22:00.000-08:002014-01-29T09:22:13.496-08:00SQL MonitoringI use a variety of methods for monitoring my database systems. Some are home grown. Others are 3rd party tools. Some look at more than SQL Server, reaching out to services and network and beyond. Some are very specific; monitoring a collection of file to ensure that imports are occurring on a regular basis.<br />
<br />
One of the tools that I love is RedGate's SQL Monitor. I consider it my junior DBA. It is always on and always watching my systems. It lets me know when things are going awry.<br />
<br />
With the custom metrics, I have been able to create and monitor some things that are near and dear to my heart, but are not generic enough that an alert already exists. For example, I have one custom metric that collects data about replication. Its not perfect, but the goal is to let me know when we are experiencing a particularly heavy replication period, as i may need to stay on my feet and be vigilant. Most times these periods simply pass without incident, but on occasion, in retrospect, something has gone terribly awry and one of the early indicators was heavier than normal replication business. So, thus the custom alert.<br />
<br />
All this is to share with you some valuable information before i share the funny that I found. I was tweeking one of the alerts, and went back in time a day to see the data it had collected in the Analysis portion of the SQL Monitor tool. And the graphic representation of the data seemed to be mimicking the icon of the application itself.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-ix35pF--frU/Uuk4Zb7pzNI/AAAAAAAABr4/pSDaMrDknco/s1600/Replication+Status.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-ix35pF--frU/Uuk4Zb7pzNI/AAAAAAAABr4/pSDaMrDknco/s1600/Replication+Status.jpg" height="320" width="320" /></a> <a href="http://2.bp.blogspot.com/-fmjL4v2UMRM/Uuk4qATbUAI/AAAAAAAABsA/4-j9atJnUGU/s1600/photo+(1).jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-fmjL4v2UMRM/Uuk4qATbUAI/AAAAAAAABsA/4-j9atJnUGU/s1600/photo+(1).jpg" /></a></div>
<br />
<br />
This made me giggle and i had to share it with you.tjaybelthttp://www.blogger.com/profile/12931880332843056564noreply@blogger.com0tag:blogger.com,1999:blog-10312302.post-7923020090363464022014-01-27T09:45:00.001-08:002014-01-27T09:45:44.446-08:00what does a DBA do?<table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-padding-alt: 0in 0in 0in 0in; mso-yfti-tbllook: 1184;">
<tbody>
<tr>
<td style="padding: 0in 5.4pt 0in 5.4pt; width: 112.5pt;" valign="top" width="150">
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="color: #1f497d;">What I feel like I
do <o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
</td>
<td style="padding: 0in 5.4pt 0in 5.4pt; width: 571.55pt;" valign="top" width="762">
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-eZZ55-Jn8ZQ/UuabHEfeHKI/AAAAAAAABrg/0ztVqU7pEGI/s1600/lightson1.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-eZZ55-Jn8ZQ/UuabHEfeHKI/AAAAAAAABrg/0ztVqU7pEGI/s1600/lightson1.jpg" height="240" width="320" /></a></div>
<br />
<div class="MsoNormal">
<br /></div>
</td>
</tr>
<tr>
<td style="padding: 0in 5.4pt 0in 5.4pt; width: 112.5pt;" valign="top" width="150">
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="color: #1f497d;"> <o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
</td>
<td style="padding: 0in 5.4pt 0in 5.4pt; width: 571.55pt;" valign="top" width="762">
<div class="MsoNormal">
<br /></div>
</td>
</tr>
<tr>
<td style="padding: 0in 5.4pt 0in 5.4pt; width: 112.5pt;" valign="top" width="150">
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="color: #1f497d;">What I really do<o:p></o:p></span></div>
</td>
<td style="padding: 0in 5.4pt 0in 5.4pt; width: 571.55pt;" valign="top" width="762">
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-fLw8f0aOU14/UuabISyUZmI/AAAAAAAABro/tI7jnGiSRto/s1600/lightson2.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-fLw8f0aOU14/UuabISyUZmI/AAAAAAAABro/tI7jnGiSRto/s1600/lightson2.jpg" height="320" width="210" /></a></div>
<div class="MsoNormal">
<br /></div>
</td>
</tr>
</tbody></table>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<br />
<div class="MsoNormal">
<span style="color: #1f497d;">Just keeping the lights on<o:p></o:p></span></div>
tjaybelthttp://www.blogger.com/profile/12931880332843056564noreply@blogger.com0tag:blogger.com,1999:blog-10312302.post-47118080834826490822014-01-08T16:00:00.000-08:002014-01-08T16:00:02.358-08:00Full Backups, Log Backups and catching developers doing thingsWe all have our favorite ways to ensure that our databases are backed up. We may even have our favorite scripts, tools, and so on. Talking to someone that believes differently on this topic than you can be akin to discussion between religions or politics, with heated arguments seemingly making sense on both sides.<br />
<br />
This is not what I want to discuss. I'm just going to share with you why I like what I like and why.<br />
<br />
I love having individual backups for each job. This is more work for me, and is not automated. But I can create a single job for a single database and schedule it at an appropriate time. When this job fires off, i can ensure that it starts, performs its task, and completes, in a timely manner, without interruption from anything else. This takes a bit of doing and scheduling, but once done, I feel that my backups are the only thing going on at that moment, and can complete successfully. If an issue arises with a single backup, it can notify that it failed, and I know by the job name which database is having issues. Most likely the other databases are all fine, and not impeded by this single failure. This is harder to accomplish if you have shared jobs or maintenance plans, in my opinion.<br />
<br />
So I spend the time creating individual jobs, determine the appropriate time, space these times out so that each can start and complete successfully. I also configure them to notify if a failure occurs. This coupled with other monitoring ensures that if a job fails, I know about it, soon. Knowing which one failed helps speed up the recovery.<br />
<br />
So, that's how I like it for full backups. Single, measurable, simple. But for transaction logs, this is where I get lazy. I will often let all dbs fall to the same schedule (if possible) for tlog backups, and I will run a single job that cycles thru 'all' databases and performs the transaction log backup. I will schedule this appropriately on a db server, and let it fly.<br />
<br />
On of the side effects to this method is that the global 'all' database approach to the tlog will fail if a certain database has not had its full backup performed already. A transaction log backup cannot happen until a full backup has occurred, and it will error. Since it cycles thru 'all' databases, this forces me to have taken all databases into account in the other method.<br />
<br />
If I do my job, then all is well. For example, a new database needs to be stood up. I get the space needed for it, create it, size it, and so on. I then create a full backup job and find the time when it should execute. I then do nothing for tlogs, as they will automatically be backed up. Good to go.<br />
<br />
But what about the time when someone else creates a database? Shouldn't they let the DBA know? Yes, they should, but sometimes, they do not. This is when the above scenario inadvertently helps me out. Developer X creates a new db, but doesn't perform any of the steps I usually do. No backup is created, no backup job is created, and so on. So, when the tlog job kicks off, it cycles thru 'all' databases, and encounters this one with no full backup, and freaks out, and fails and emails me.<br />
<br />
This is when I know that a DB was created, but properly configured. In a way, its like the Database Server is tattling on the developers that created the DB without my knowledge. This lets me quietly go in, size the DB, configure it properly, create the appropriate maintenance jobs and processes for it, and get it going. I usually do this without fanfare, and simply get it setup correctly, and go back to my previous tasks. But now I know that this newly minted DB has had some TLC given to it, and will fit into my topology well. tjaybelthttp://www.blogger.com/profile/12931880332843056564noreply@blogger.com0tag:blogger.com,1999:blog-10312302.post-58245331221103358162013-12-02T10:40:00.000-08:002013-12-02T10:40:10.484-08:00How a patch for IE11 filled up my transaction log<b>The story</b><br />
<br />
Our developers and QA group noticed a bug in our systems with regards to IE11. When the website was used with an IE11 browser, things didn't quite work as expected. After some research and testing, they determined that a patch could be applied to our web server that would fix IE11. It introduced some new code and some changes to the .Net framework on our web server.<br />
<br />
So far, nothing affecting the database, right? Right! After all, they did some testing and saw that the effects of applying the patch were negligible to the test system. So, onward ho, we go!<br />
<br />
The patch was applied one Saturday night a few weeks ago. Around 6:30 pm. I was at a basketball game with my family at the time, and noticed an alert from RedGate's SQLMonitor about a failed job. Odd I thought. (I had no idea that the patch had been applied at this point). Since it was a single job failure, I chose to continue with the family activity. An hour later, another one appeared. Another job failure. Odd. This is a simple job that is doing some simple validation of errors received from our web site services. Its never failed before.<br />
<br />
Again, the game is almost over, and since it a once an hour job, I pushed it off a bit. When the game was over, instead of heading home, we headed to the office. My entire family. They love it, for about 5 minutes. But they bear it when it happens. In this case, we only spent an hour or so at the office. As I dig into the failed job, i realize that its a powershell script that is failing. It seems to be failing on the send email portion of the script. Duh. How lame. I could have swore that it had been tested and functioning at one point, but alas, it is failing. With some tweeking (not twerking) I get it to work, and execute it again manually. This time it sends mail. Yeah! Problem solved? No.<br />
<br />
The email it sent me went on to describe that the errors received from the web site services had surpassed a threshold of acceptability. Oops. So a few hours ago, let's lie and say 2, I received an alert that should have told me that a threshold had been exceeded. Something bad was going on. But since the monitor couldn't email me, I didn't know the true depth of the issue.<br />
<br />
A bit more digging finds me locating some 7k emails indicating an error I've never seen before. A short phone call later to a developer helps me see that this is a new error, and it might be associated with the patch that was applied to the web site (news i uncovered during my research of the situation). We do a quick cycle of the app pool and viola, the error stops happening in the frequency it was just bombarding us. Yeah!. Problem solved? No.<br />
<br />
<b>The Next Day</b><br />
<br />
The next day several folks hit this issue and dig and dig and determine that the patch did something odd to the web site services, which in turn caused this new error to arise when our engines communicated from the outside world to our central services, attempting to synchronize their data with us. So, each one of the attempts failed, causing them to be told to go away and try again another day. In the meantime, the error didn't go away. It was just suppressed for a bit. It would raise again, causing the app pool to crash, and when the app pool was restarted, it would sometimes be good for a while, and other times start or continue spewing the error message email. Still, this seemed isolated from the database. Not affecting it, only in that engines were unable to connect. Some engines. Some of the time.<br />
<br />
After more research and several days of looking, it was determined that we should roll the patch back from the system. Maybe that would revert us to the state we were in before. Maybe. How to test for this? Not a lot of confidence was given to several ideas, but the one that was picked was to increase the verbose logging on some of the services so that we could track down what was going wrong with said services as they attempted to connect and process. Yeah!. Problem solved? No.<br />
<br />
This increased logging was applied to the web server, which is a VM, which has a small footprint. The increased logging caused some issues as it tried to write out the massive amount of logs for all the connections made that night. This caused the response to the engines to be something like "Hey, I know you tried to contact me, your central server, but I am borked right now. So, instead of accepting your data, why don't you reset your data next time we try to talk." Of course this message was editorialized, but that is the gist. Each of the engines that tried to connect and errored was told to 'reset' next time. A reset means, purge all data on central (which can be like a gig or 2 gig. maybe 5) and resend all said data. This reset process occurs all the time, from a lot of engines. It is a process that shouldn't be a bear on the topology. Usually. So as the web services did their job this night, with more verbose logging, we should have seen a fix, no? No!. Problem solved? No.<br />
<br />
The next day was when we realized that the verbose logging caused bottlenecks on writing out all the logging, causing the engine's requests to time out, and send back the lovely error requesting a reset. This is the day before Thanksgiving. Which I had taken off as a vacation day. So I find out this information while off of work. I was informed that tons of resets may occur tonight, but everyone thinks it will be OK. No worries. Yeah!. Problem solved? No.<br />
<br />
<b>Thanksgiving Eve</b><br />
<br />
That night, around 130am, after we had finished watching several movies as a family, I was headed to bed, and looked at my emails. Tons of emails. Tons of alerts. Tons of something hit the fan. I log into work to find that a database log file had filled up, grown to capacity on the drive, filled the drive and was basically sitting in a bad state. Other processes were still working. For example, replication was still sending data from this db server to the reporting system. Other requests were being serviced. But this db was in a bad state. Poor SQLMonitor was freaking out trying to keep up with the errors in the log about the tlog fulled up. It turned out that some 65 engines were performing resets. Right now. All at the same time. Some had finished, but others were still trying. Data was flying in and out of the system at a breakneck speed. Delete here, insert there. Tons of changes. Since it all needed to be replicated, it stuck around in the tlog longer and larger than it had ever before done. After some research, calming my beating heart, and maybe a little cussing under my breath, I add another tlog to the system on another drive, and see some pressure released, and processes continue to flow. I watch it and monitor it for an hour or so, until after 3am, and finally call it good. Things were working as expected, just a bit backed up. Several emails explaining the situation were sent out to the team, mainly to document what was going on, what I had found, and making sure others knew what was happening in realtime. I then decided to go to bed. Yeah!. Problem solved? No.<br />
<br />
Around 5 am I awake and check my mail only to find out that just before that time, the replication database log file had filled up as well. It didn't fill the drive, but was 100% full, and things were halted. Fearing that I would have to rebuild replication in a few days, or worse, over the holiday, I got up, and drug my self downstairs to see what I could do with my magic DBA pixie dust. After reviewing things, looking at the state of several pieces of the puzzle, I created another log file on another drive for the distribution database. I double checked the status of the other log file, to find out that it was doing fine. Replication was backed up, and latent. But it started flowing again. It was like finding those pesky beavers had built yet again another dam across my river of data. Once the river was diverted, flow occurred. Yeah!. Problem solved? At this point, its 6am the morning of a major holiday, and I have no idea. It looked good at the moment. But would take a while to catch up. After watching a bit, I went to bed.<br />
<br />
I slept in until after 10am on Thanksgiving morning. When I awoke, I grabbed my phone and looked, and viola, all seemed well. There was even an apology from the developer that had spearheaded the movement to rollback the patch, increase the logging, and see what happens. Well, we now know what happens. We can potentially affect systems and services to the point that they get blocked up way upstream, causing untold blockage down the river of our data, and inadvertently cause database problems.<br />
<br />
<b>What did I learn?</b><br />
<b><br /></b>
This was a perfect storm situation that I had not planned for. What can i take from this experience? What can I learn from it and do better?<br />
<br />
<br />
<ul>
<li>I had sized the log files and drives appropriately, at least as far as normal processing occurred and the baseline of normality allowed me to measure. But in this situation, more log file size, and a bit of a larger disk, would have been the preferred configuration. Something I need to look into. </li>
<li>I was happy that I had planned on having extra luns attached that were unused for Data and Log, in the case of an emergency. Since these already existed, and had space, I could easily add files to dbs and sit them on these drives, which are raring to go. This saved a lot of heartache and pressure. The solution was easily reached in both cases, and when things settled down to normal, the extra log files were removed, returning the drives to their emergency waiting state again. </li>
<li>I also realize that for some types of alerts, it would be better if a more noisy alert occurred. When the db log file first filled up, it was around 11pm. I noticed it at 130am. I could have fixed it a lot earlier, had i been properly notified. I need to fix this. </li>
<li>We all need to be more careful about touching our production system. Something as simple as an IE11 patch to a webserver was ultimately responsible for the log file filling up. If we could have tested this much better, in conjunction with the rest of the services, and not just assuming that this patch would affect a website, that it could reach into services that could cause errors to spew, and pile up too many errors and logging which could ultimately affect data coming in, etc. etc. If, If, If. We have to be better at seeing and planning for the If situations, and not be overly cautious that it causes us to freeze in our tracks and not let any change occur.</li>
<li>As smart as we all are individually and collectively, there is still much to be learned, even about our system that we have created and believe to know intimately. </li>
</ul>
<br />
<br />
<br />tjaybelthttp://www.blogger.com/profile/12931880332843056564noreply@blogger.com0tag:blogger.com,1999:blog-10312302.post-59775680751913171632013-09-23T14:32:00.000-07:002013-09-23T14:32:06.690-07:00Thoughts about the SQL PASS Board of Directors Voting 2013Volunteering is a special kind of madness that many humans suffer. They continue to give of their time to volunteer to perform tasks and duties that they would normally not do. All this in the valiant effort to make their sphere of the world a little better by their wake of work. Some humans continue to do this over and over, with little recompense. Still others rise above the rest and want to stand out as targets. Often they promote themselves or become elected to be these targets, and while ofttimes tripling or more their volunteer efforts, continue to give and give and give. These are they that run for the board of directors for almost any organization. They will stand out, at the head of this organization, make decisions that will be possibly helpful or hurtful to the organization as a whole or even individuals. They will continue to move forward working, doing, deciding and so on, until they are either done, get kicked out, or their terms expire. All the while, they are doing what the rest of us may be afraid to do; to work hard, in the face of obstinate obstacles, trying their darnedest to do a good/great job and leave behind them a better organization than when they entered.<br />
I must believe that they all want the best, and they all try to do the best of their abilities, and they do what most of the population of the group would rather not do, the hard stuff, the difficult decisions, the long nights, the excessive back and forth discussions attempting to create a better place than yesterday. I must believe they do this. For the betterment of all, including themselves.<br />
<br />
So, go and figure out who among the slate of this years volunteers you want out front doing the jobs that you don't want to do, and lets get behind them, let's support them, let's buoy them up when they need it, and even when they don't. Let's get behind them and help them help us be a better organization.<br />
<br />
And remember, we'll do this again in a few years, when a new batch comes along, with a new set of ideas and goals, and the ones that are volunteering now have all but spent their last breath of energy trying, and trying to improve this place we all call PASS.<br />
<br />
<br />tjaybelthttp://www.blogger.com/profile/12931880332843056564noreply@blogger.com0tag:blogger.com,1999:blog-10312302.post-25023239737449265132013-08-21T10:26:00.001-07:002013-08-21T10:26:11.690-07:00Permissions by userI have a script that I have tweeked and tweeked over the years that offers me a quick view into what objects have specific permissions on them per user. I have used this oft times to audit systems and prove that things are the way they should be, or to possibly generate work when they are not.<br />
<br />
The output of this little script is the servername, databasename, username, grantor, object type, object name, and the permissions (like grant select, or deny execute).<br />
<br />
I have used this script in the past to generate a source and destination table, and then run compares on the two outputs to see what is different between two systems that should be identical. But this version below is just a quick and raw output.<br />
<br />
I hope that this helps.<br />
<br />
<br />
<br />
<br />
<br />
DECLARE @MyDBName sysname <br />
SET @MyDBName = '#Source' <br />
<br />
IF EXISTS (SELECT * FROM tempdb..sysobjects WHERE ID = Object_ID('tempdb..#permissions') ) <br />
DROP TABLE #permissions <br />
<br />
CREATE TABLE #permissions <br />
( <br />
[qid] [int] IDENTITY (1,1) NOT NULL, <br />
[ServerName] varchar(150) NOT NULL, <br />
[DatabaseName] varchar(150) NOT NULL, <br />
[UserName] sysname NOT NULL, <br />
[Grantor] sysname NOT NULL, <br />
[ObjectType] varchar(60) null, <br />
[ObjectName] sysname null, <br />
[PermissionState] varchar(60) null, <br />
[PermissionName] varchar(128) null <br />
) <br />
<br />
<br />
<br />
set NoCount on <br />
<br />
declare <br />
@result int, <br />
@ErrorMsg varchar(500), <br />
@execStr nvarchar(4000), <br />
@Version int <br />
<br />
--cycle thru the databases in this server, and retrieve the dbnames of each <br />
declare GetDataCursor insensitive cursor <br />
for <br />
select <br />
name <br />
from sys.sysdatabases <br />
-- where name not in ('Audit', 'tempdb') <br />
-- and status not in ( 48, 528) <br />
-- where name in ('Master', 'MSDB') <br />
Order by name <br />
<br />
if @@Error &lt;&gt; 0 goto ErrorProc <br />
--try <br />
<br />
declare <br />
@DBName varchar(200) <br />
<br />
open GetDataCursor <br />
if @@Error &lt;&gt; 0 goto ErrorGetDataCursor <br />
while 0 = 0 <br />
begin <br />
fetch next from GetDataCursor into <br />
@DBName <br />
<br />
if @@Error &lt;&gt; 0 goto ErrorGetDataCursor <br />
if (@@Fetch_Status = 0) <br />
begin <br />
<br />
Set @execStr = ' <br />
INSERT INTO #permissions ( [ServerName],[DatabaseName],[UserName],[Grantor],[ObjectType],[ObjectName],[PermissionState],[PermissionName]) <br />
SELECT <br />
@@ServerName AS [ServerName], <br />
--DB_NAME() AS [DatabaseName], <br />
''' + @DBName + ''' AS [DatabaseName], <br />
u.name AS [UserName], <br />
u2.name AS [Grantor], <br />
CASE <br />
WHEN major_id &gt; 0 THEN o.type_desc <br />
ELSE ''System Object'' <br />
END AS [ObjectType], <br />
CASE <br />
WHEN major_id &gt; 0 THEN o.name COLLATE DATABASE_DEFAULT <br />
ELSE o2.name <br />
END AS [ObjectName], <br />
dp.state_desc AS [PermissionState], <br />
permission_name as [PermissionName] <br />
FROM [' + @DBName + '].sys.database_permissions dp <br />
LEFT OUTER join [' + @DBName + '].sys.database_principals u on dp.grantee_principal_id = u.principal_id <br />
LEFT OUTER join [' + @DBName + '].sys.database_principals u2 on dp.grantor_principal_id = u2.principal_id <br />
LEFT OUTER JOIN [' + @DBName + '].sys.objects o ON o.object_id = dp.major_id <br />
LEFT OUTER JOIN master.sys.sysobjects o2 ON o2.id = dp.major_id <br />
WHERE class = 1 <br />
AND dp.grantee_principal_id &gt; 0 <br />
ORDER BY [UserName], [ObjectType], [ObjectName], [PermissionState], [PermissionName]' <br />
<br />
-- Print @execStr <br />
exec @Result = sp_executesql @execStr <br />
if @@Error &lt;&gt; 0 or @Result &lt;&gt; 0 <br />
begin <br />
set @ErrorMsg = 'Error occurred retrieving data for 1st query' <br />
goto ErrorGetDataCursor <br />
end <br />
<br />
end <br />
else <br />
break <br />
end <br />
goto SuccessGetDataCursor <br />
<br />
--except <br />
ErrorGetDataCursor: <br />
deallocate GetDataCursor <br />
goto ErrorProc <br />
<br />
--finally <br />
SuccessGetDataCursor: <br />
deallocate GetDataCursor <br />
--end <br />
<br />
SELECT * FROM #permissions <br />
<br />
--finally <br />
SuccessProc: <br />
<br />
--except <br />
ErrorProc: <br />
<br />
<br />
tjaybelthttp://www.blogger.com/profile/12931880332843056564noreply@blogger.com0tag:blogger.com,1999:blog-10312302.post-58422163055307915972013-03-22T21:44:00.002-07:002013-03-22T21:44:35.842-07:00SLC Code Camp 2013Tomorrow morning I will be presenting on 'Release Management' at the Salt Lake City Code Camp. I was one of the lucky ones that was selected by the community to present a session at this event.<br />
<br />
This is a presentation that I have tailored after the chapter I was honored to write in a SQL Server 2012 book recently. This is a topic that has been close to my heart and part of my day to day job for quite some time. It was fun to prepare this session for a not exclusively SQL Server audience. I am a bit nervous about it, as I usually am before any presentation.<br />
<br />
I have uploaded my preso and supporting files to my public Dropbox. You can find the links here.<br />
<br />
<a href="http://dl.dropbox.com/u/11735707/Release%20Management.zip">LINK to Presentation Files</a><br />
<br />
<br />
<br />tjaybelthttp://www.blogger.com/profile/12931880332843056564noreply@blogger.com0