Author: way0utwest

  • Deterministic Functions

    Do you know what determinism is? It’s something that comes up periodically in Books Online as various SQL objects require deterministic functions. Things like indexes views.

    I ran across a question on this for our ASK site, and thought it was interesting. I started to reply, then had to double check myself and make sure by looking things up in Books Online. I was right, though I’m not sure I’d have been able to actually classify all functions correctly.

    For example, RAND can be either deterministic or non-deterministic, depending on how it’s used. If you have a seed value, it’s deterministic. CAST and CONVERT are usually deterministic but it depends on the data type. There are some good exceptions spelled out in this BOL entry: Deterministic and Nondeterministic Functions

    I knew that deterministic meant you could determine the output given the input, and that these are "predictable" functions. However I didn’t realize that somethings, like GetDATE() wouldn’t fit. It always returns the current time/date, but it’s not based on input, or the database, so it doesn’t count. It’s a non-deterministic function.

    Non-deterministic functions like the @@ ones (@@Connections, @@idle, etc.) are listed, and I’m not sure I’d have thought of them off the top of my head, but it was good to read them in the article. Next time I need to I should remember, or at least be able to easily scan code and decide if it’s deterministic or not.

  • Expert SQL Server 2008 Encryption

    51s2ofIFTrL._SL500_AA240_ Encryption is a tough subject, but it’s one that’s fascinated me for years. I downloaded PGP when it came out nearly two decades ago, and learned about the intricacies of symmetric and asymmetric keys. I thought it was fun, even when I couldn’t convince many people to consider using it.

    Last year at PASS I ran into Michael Coles, who I’ve known for a few years and had just finished tech reviewing a book for. He was planning on a new book and asked me if I’d be interested in doing another one, this one on encryption. I jumped at the chance, and sometime this past spring started getting chapters.

    I knew a lot, but had to learn a lot as well. I spent a lot of time Googling various terms and double checking historical references as well as algorithms and terms. I think I did a good job, and Michael and his co-author, Rodney Landrum, did a fantastic job.

    I found a package on my desk this morning, and opened it to find my copy of the book. It’s now out, and available in bookstores, including Amazon.

    So check it out, and learn a bit about this very important topic for DBAs. Not a lot of companies use encryption, but the ease of administration has grown with SQL Server 2008 and more companies are using it every day. I expect to see it start coming up in interviews soon.

  • One Week until PASS 2009

    It’s one week until the PASS Summit. At this time next week I’ll be on a plane, heading to Seattle with a weeks worth of clothes and a bunch of prizes to give away. This will be my 8th or 9th Summit, and the 5th or 6th one I’ve attended in Seattle. They tend to blur for me since it’s an annual event and I run through a similar routine most years. The biggest event being the SQLServerCentral opening night party. After that I’m usually just trying to relax for the rest of the Summit.

    This year I’m looking to participate a bit in the PASS feedback sessions, which are still trying to get set up. I’m not sure where they’ll be, but after the comments and blogs on the election process, I’m hoping people will participate. However most of my planning this week is getting the site prepped for very little work from my next week and trying to prepare for the party.

    What prizes am I bringing? I’m not completely sure. IT partially depends on my budge which is a little low this year. With less people attending, or at least using my promotion code, I’ve had to pare things back. We still plan on giving away two gifts to all attendees:

    • The Best of SQLServerCentral, Volume 7
    • A SQLServerCentral polo shirt

    Because of the budget, I’ve decided to reuse some of the existing shirts that I’ve been storing. So we’ll actually have black, green, gray, and burgundy shirts to choose from, though not all sizes in all colors. Come early to be sure you get what you want.

    I’ve also gone back to my standby of DVDs are basic gifts. I bought about 25 of them recently on sale, though this year you won’t know what you’re getting. My daughter wanted to wrap them, so the titles are hidden. I grabbed a few flash drives, but was trying to figure out what might be a nice, cheap gift I could give out.

    And then I thought of one of my passions: reading. I read about 50-70 books a year, and really enjoy it. I’ve encouraged my kids to read, and I’ve enjoyed having them get more interested in reading over the years. I even got my wife to try the Barnes and Noble reader on her Blackberry. She told me it was a "horrible" idea when I showed it to her one day and said "she’d never read that way." She’s now read 5 books and things it’s great.

    So I’m ordering some of my favorite sci-fi books for the party. No hints about what titles they’ll be, but they are some that I’ve read multiple times and even given to friends.

    My prize budget is hovering around $1200, which sounds like a lot. But when you try to get 50 prizes out of that, you realize that you’re really limited to $25 a prize. If you consider that we try to get a couple $100-$200 prizes, the cost/prize needs to go way down.

    So I’ve got books, DVDs, and then a few more things coming. Likely we’ll reserve something like a Wii or an XBOX for the top gamblers, but with 100-130 people expected, you’ve got a good chance to walk away with something.

    So be sure that you register with our code (SSC3D) if you haven’t registered, and if you have, feel free to come to the party Monday night. We’ll charge $30 admission, and you can come in and have some fun on the first night of PASS.

  • Opinions about PASS

    There has been quite a discussion today on the direction of PASS (the Professional Association for SQL Server) and some controversy about the opinions, blogs, and whining (yes, someone said whining) that’s been taking place. I’ve certainly had my say, with an editorial and a couple of blogs on the election and the board of directors.

    A few people have said that if you don’t volunteer, or run for the board of directors you shouldn’t criticize. Or that you’re part of the problem, not the solution.

    I disagree with that. I’ve had that attitude in the past, and it’s wrong. Is it only the 30 people that volunteer (rough guess) or the 12 on the board can speak out? Is it only former government officials that get to criticize the current people serving? Is it only people inside a company that can give opinions on the board of director’s performance?

    Not in the US. And while PASS does seek to be a global organization, it’s a US non-profit entity.

    The fundamental right that people should have is to express their opinions. Without those opinions, along with ideas and criticism, how does any organization, any board of directors, any management know how to measure their performance?

    They don’t. Without knowing the wants and needs of those that belong to the group, you can’t know what decisions to make.

    Without accounting for your constituents you are a dictator. A benevolent dictator perhaps, but still a dictator.

    There are multiple problems with PASS as an organization, and a lack of participation and volunteers is definitely a problem. However that’s not an excuse for ignoring the opinions of those that are expressing them. Or are criticizing the group.

    You need transparency, and accountability, and communication. If PASS is doing a great job, PUBLICIZE IT. Don’t tell me that we’re doing well, in general terms. Tell me specifically what you’re doing. Tell me what didn’t get done. Give me reasons.

    I can accept failure, I can accept missteps and mistakes. I just can’t take your work that you did the best you could without some accountability.

    If it is only the 50 loudest people that share their opinions, then those opinions should help you govern. If you get more, use those, but don’t run things in a vacuum.