Category: Blog

  • SQL Intersection 2013 – Las Vegas in April

    I'll_Be_ThereIt’s not too hot, it can be fun, and after a full day of SQL Server learning, there are lots of things to do. I’m heading back to Las Vegas in April to speak at the new SQL Intersection event. It’s in conjunction with DevIntersection, and it’s at the MGM Grand Hotel.

    This event is taking the place of the DevConnections, but it’s a little more focused. There are some great sessions and I’m honored to be picked to be speaking alongside these amazing individuals

    It’s a great spring conference with improve your SQL Server knowledge during the day and enjoy amazing shows at night. I’m hoping to get the chance to see one of the comedy acts while I’m there.

    Come join me if you want to get away this spring from work, learn more about SQL Server and find some warm weather in the early spring.

    One more note. If you register by Feb 11, 2013, you’ll get $100 to spend at the MGM, and a Surface RT tablet. A good reason to lobby your boss to make a decision early and attend this event.

  • Activating Windows 8 from MSDN

    I installed Windows 8 recently and needed to activate it. I didn’t do this on the install since I didn’t have an Internet connection when I first set things up. This is a hardwired desktop, and I had to move it to my office to plug it in. However I didn’t have a spare monitor to use with it once it was moved, and when I connected over RDP to start setting things up, I realized it wasn’t activated.

    No problem, I’ll just run the Activation from the Control Panel/Action Center. How to get to the Control Panel? I didn’t see an easy way, but I did remember that if I right clicked the desktop, I’d get a “Personalization” dialog, which was a sub-folder of Control Panel. That worked, I made my way to the Action center, which gave me a spot to click on to Activate things. I did and got an error:

    Activation Error: Code 0x8007232b
    DNS Name does not exist

    That threw me. It said if I had issues, look for other methods in the
    Control Panel. I didn’t see any, so I asked the Google what to do.

    The first result was this KB article, which talked about the install being from a volume license of some sort. That was true, as I’d used my MSDN license to install. Since I didn’t have a local activation server, I used the first method of running the slmgr command line with my license key.

    That worked great and I was up and running. I hadn’t seen that before, so it was an interesting experience.

    Working with Win 8 across RDP, without a touch screen was interesting as well. Definitely a few things to get used to here.

  • SQL and Skiing – SQL Saturday #183

    This weekend of SQL Saturday #183 in Albuquerque, NM. It’s the first SQL Saturday in that state, and it’s a relatively short drive from Colorado. Six hours from my house, S of Denver, and a nice city. My brother used to live there, and I made a few trips to see him.

    I’m looking forward to going back, but not to tour the city. I’m sure that would be fun, but there’s a side diversion between Denver and Abuquerque:  Taos.

    Taos, NM has two ski resorts nearby: Taos Ski Valley and Angel Fire. I’ve never been to either of them, and I’d like to see what it’s like to ski in New Mexico. A few of my fellow Coloradans feel the same way and we’ve organized a bit of a caravan trip.

    Two or three of us are planning to drive Thursday night with two or three passengers, for a total of 5 or 6. We’ll ski Friday and then continue down to Albuquerque for the speaker event Friday night and SQL Saturday #183 on Saturday. A few of us will then go back to Taos on Saturday. Whether we will ski on Sunday depends on how these older bodies feel.

    I love the SQL Saturday events, and think they’re a great chance to teach people things, learn things, and give vendors a chance to meet potential customers face to face. However the networking is one of the best opportunities that I’ve seen from these events. The chance to meet other SQL Server professionals, find out what they are doing, learn about new features, functions, applications and opportunities is amazing.

    The chance to bond and make a new friend or acquaintance is one you shouldn’t pass up. You never know when you network might help you, and there are plenty of companies that view networks as more important than recruiters.

    I’m looking forward to some networking on the drive, getting to better know the people I’ve met at many local events. I’m also looking forward to speaking on Branding at the event and meeting even more SQL Server pros from New Mexico.

    If you get the chance to attend an event, it’s worth your time if you meet people and talk with them. I encourage you to try this in the future, especially at a SQL Saturday. Talk to people in sessions, between them, or even later at the after party.

  • Granting Permission to Grant Permissions

    I’ve never felt the need to allow this, but I saw someone ask the questions recently. Suppose you had a view and you wanted to allow a user to grant permissions to this view to other users.

    It’s not a weird edge case, but it’s just not one I’ve normally bothered with. I manage by groups, always, and never want a user to be granting permissions to a specific view. I inherently see users as fragile in the lifetime of an application (administrators as well)  and don’t like the idea of allowing them permissions.

    If you need to do this, however, there is a way. Let’s examine a basic scenario. I want to allow Bill to grant permissions on the view “MonthlySales”, which I’ve created in AdventureWorks. If I want to allow Bill to use this view, I need to do this:

    GRANT SELECT ON MonthlySales TO Bill

    If I log into the server as Bill and execute

    SELECT * FROM MonthlySales

    I get this:

    grant1

    Simple stuff.

    However if I want Bill to be able to allow other people in his department to see this view, what can I do?

    If I examine the BOL page for GRANT, I see there is an option that can help here. The WITH GRANT option allows the person specified in the statement to grant the existing permissions to others.

    Let’s assume I have another user Sue. If I log in as Sue, and I execute the same SELECT that Bill ran above, I get this:

    Msg 229, Level 14, State 5, Line 1

    The SELECT permission was denied on the object ‘MONTHLYSALES’, database ‘AdventureWorks’, schema ‘dbo’.

    I could easily manage permissions as the DBA, and I prefer this, but for when you have some data that a user can manage, and you are in an environment where things change quickly, perhaps you want to delegate some permissions to users.

    Now, let’s change the initial permission I set up for Bill to this:

    GRANT SELECT ON MonthlySales TO Bill
     WITH GRANT OPTION
    

    Bill can still see the view and the data. However Bill can now run this:

    GRANT SELECT ON MonthlySales TO Sue

    Once he does this, Sue can see the view.