Author: way0utwest

  • SQL Saturday #131 Recap

    This past weekend I attended a SQL Saturday in the desert. SQL Saturday #131 was held in Phoenix, AZ

    Photo Apr 28, 9 28 01 AM

    It’s April, but it was definitely hot. However the campus at Chandler Gilbert Community College was geared to the desert with lots of shade and open spaces. I was surprised how comfortable some of the places were on a 90+F day.

    Friday night was the speaker / volunteer dinner, at a nice Mexican restaurant in Chandler. Kudos to the SQL Saturday team for the venue. Quite a few people attended, enjoying a few drinks and good food.

    Photo Apr 27, 8 03 30 PM

    Amy Lewis (@Amy_LewisAZ) was the organizer, and she had everyone play a little networking game. We all had to stand up and say where we were from, what we were talking about, and then tell three facts about ourselves, one of which was a lie. There were some interesting lies, and some neat facts about different people. All in all, a fun time. You can see Amy egging us on below.

    Photo Apr 27, 8 26 08 PM

    The venue was easy to find, and it consisted of the science building at the college and one of the student centers. The student center had all the vendors, good, and a very open space, surrounded by windows.

    Photo Apr 28, 9 19 15 AM

    The speaking rooms were well equipped college rooms, with projectors and desks. A few of them were a little small, but things worked out well with 7 tracks for the 250-300 people that attended.

    Photo Apr 28, 9 37 05 AM

    I presented two sessions: Encryption in SQL Server and Branding Yourself for a Dream Job. Both went well, with no issues. Hopefully people enjoyed them. I got some good feedback, but few evaluation slips.

    I went to see a few people speak. I saw Robert Miller (@RobertMiller) talk about Change Tracking, which is a neat feature that you might want to check out if you need to audit things or manage ETL processes. I also snuck into part of Will Sisney’s (@HanSQL | blog) 9 Secrets to a Stellar Performance Review talk, which was great. I’d recommend that one for sure.

    Photo Apr 28, 10 32 15 AM

    I had a short break in the open space above, which wasn’t that hot if you weren’t in direct sunlight. I was tempted to do my Branding talk out here, but it really needs a little AV. Afterwards I wandered into Bill Pearson’s SSAS Best Practices talk. This was the first time I had the chance to see Bill speak, and he does a great job. Bill is very smart, and I enjoy listening to his Southern accent and country analogies, but a word of warning. Bill moves fast, he covers a lot of ground, and you should have some idea of the topic if you want to keep up.

    Photo Apr 28, 10 38 13 AM

    I got a patch, which was cool. I assume these come from the national SQL Saturday people, though I’d like to get these, or pins, instead of shirts for the speakers. I’ve spoken at probably close to 20 SQL Saturdays, and that’s enough shirts for a solid month of business work. I’ve gotten some nice shirts, but at this point, I’d like to see something else.

    And a nice special treat in the speaker room. Cookies!

    Photo Apr 28, 1 41 43 PM

    A fun event, that ran smoothly, and one I enjoyed. I hope to go back there sometime in the future.

  • You need to run DBCC CheckDB regularly

    You never know when you’ll encounter corruption. It can happen at any time, usually due to some sort of hardware problem or driver issue. Corruptions don’t disappear and you can’t necessarily

    Corruptions can be caused by numerous factors, and it isn’t something you can predict. However sooner or later, you’ll get corruption on one of your instances. I don’t know which one, whether it’s the finance production instance or the vacation tracker development database, but it will happen somewhere.

    Since corruption can flow through to backups, and can exist in your system for some time, you could end up losing lots of data. Your best defense is to run DBCC on a regular basis and ensure that you catch corruption or problems as early as possible.

    My recommendations in order. If you can’t do #1, do #2, or #3, but try to get something in place.

    1. Run DBCC on every database, every day – If you can, run this on all your servers. I know it’s a large request for some of you, but if you can do it, do it.
    2. Run DBCC on every database on another instance, restoring from last night’s backup – If you can’t run DBCC on your main server, offload it onto another one.
    3. Run DBCC every day on some database, rotating so that all databases are covered – Do this so that at least every week or two you have a DBCC run on your production databases. You can do a random sample of some sort, but hit all of them as often as possible.
    4. Work on a your resume or CV – If management won’t let you run DBCC checks, sooner or later you’ll have an issue, take some blame, and need a new job. Be prepared for that, if for nothing else.

     

    sqlbackuproOne of the recommendations to minimize impact from CHECKDB operations is to run them on another server, using an automated process. SQL Backup Pro 7 from Red Gate makes this very easy to do with automated backup file copy operations, restores, and CHECKDB execution.

  • Being Responsible for Code

    I read this great account of how Facebook releases new code, and found it to be very interesting. Apparently the entire FB site compiles to a single 1.5GB binary at this time. That in and of itself is interesting, but their deployment strategy caught my eye as well. They use bittorrent to deploy the large file to all their servers. Very creative and interesting look at things from one of the largest web sites in the world.

    The process is interesting, but one of the comments caught my eye. It includes a quote from the article:

    developers must be held responsible
    I’m sure many DBAs wish developers were held responsible for issues.

    I know there’s no shortage of developers that make mistakes and don’t want to have responsibility for the code they release. I like the idea of tracking these metrics, and letting people’s actual performance being a part of their evaluation each year. Not trusting the manager’s memory, or the recent complaints from co-workers, but actually looking at the relative mistakes being made. This leaves out scale, but I’m not sure the scale of the mistake is as important as the frequency.

    However this is a double edged sword. Some people will perform worse if you place them under this pressure and may find it too stressful an environment. If you don’t have the same pressures as a company like Facebook, you might end up driving away good employees that could fit in elsewhere.

    My recommendation would be that you hold people accountable for their work and use metrics like this to actually track that back to specific incidents, but that you use this as only a portion of someone’s evaluation. Track other measures available that help you determine if a particular worker is contributing value to your company outside of the bugs they might have in their code.

    Steve Jones


    The Voice of the DBA Podcasts

    We publish three versions of the podcast each day for you to enjoy.

  • Cool Data Visualization

    I attended a course from Edward Tufte a few years ago on Data Visualization, and while I learned some neat things, I never was able to implement them well. I think part of it is a complete lack of an art gene in my person, but I do keep it in mind sometimes and would like to actually implement some of the ideas in his books.

    Today someone at Red Gate posted a link to this very cool data visualization on wind. It shows the wind speeds on days for the entire US, but in a very visual way. This is what it looks like, but if you go to the site, you’ll see it animated.

    wind

    There’s also a gallery of some days in the past to view.

    It’s neat because unlike a chart, or a static picture, you can easily see where wind is flowing, and the intensity for a large area. You can zoom in to see what the speeds are in a particular area.