Tag: SQLNewBlogger

  • Getting Started Blogging–#SQLNewBlogger

    It’s a new year, and the perfect time for you to start blogging about your SQL Server work. I think blogging is a great way to showcase your knowledge, and over time, this can become as important to your potential employers and clients as your resume or CV.

    This post won’t look at what to write, but rather, how to get started. I’ve divided this up for people that might have written some technical articles and those that haven’t. If you have, feel free to skip the next section.

    Starting From Scratch

    If you’ve never really written a blog or technical piece, I recommend do this:

    1. Create a folder on a shared drive
    2. Open Word (or another WYSIWYG) editor
    3. Begin Writing
    4. Save the post you’ve worked on as 1_SomeTopic.
    5. Repeat, incrementing the number so you get files such as 2_OtherTopic, 3_ReallyInteresting, etc.

    That’s it. Just begin writing. Don’t worry about publishing, don’t worry about anything else. Just get in the habit of putting some thoughts down on paper that talk about the work you do.

    When you get 10 posts, you are ready to move on.

    I would recommend you calculate the average time it takes for you to produce a post. This would be the rate at which I’d look to schedule my posts.

    Choosing a Platform

    The next step when you are comfortable with your writing is to choose a place to publish your work. There are lots of choices, and a good comparison of sites is listed in this article.

    I use WordPress and Blogger/Blogspot for different blogs. I chose two to have a comparison and after a few years, I think WordPress is better. You can certainly download the WordPress software and set up your own site on a VM somewhere, but I don’t think that’s a good place to start unless you want a project. If you want to write, wordpress.com is a nice start. It does enough for me, and it’s easy to let them update the software and just pick a theme.

    I also recommend OpenLiveWriter to write with. I can easily draft posts in a WYSIWYG way, keep the drafts private (and on a OneDrive folder) and then publish to my platform at will. I find this easier than trying to work online. The project looks slightly abandoned for now, but it is stable and useful on the Windows platform.

    Scheduling

    How often should you blog? I think this is a hard question, but I’d blog at the pace that works for me. If you are a new writer, you should have written 10 pieces and tracked the time to produce those. For most people, this is between 2 and 4 weeks for a piece. Some might do 1 a week, but whatever is possible in your busy life is the pace I’d stick with.

    My goal is to blog 3 times a week. Sometimes I can do more, but I don’t usually try to do more. It’s better to schedule out posts and ensure I can maintain some level of consistency than I get my posts out right away. Most of the time I have a couple of posts scheduled a few weeks out because I’m not producing news. I’m showcasing knowledge.

    My advice is to schedule less frequently than you think you should. It’s easier to add in most posts later than try to maintain some pace that causes you stress.

    This should be fun.

    Post Reviews

    No matter what topics you choose or the frequency of your posts, it is important that you do a good job in producing them. That doesn’t mean you need 3 peer reviews and a copy edit, but you should take the time to get some feedback from others on your work.

    If you aren’t an experienced writer, or you worry about the impression your writing makes, then ask a friend, spouse, co-worker, etc. to review a few posts and help you with your grammar, spelling, and the way you communicate the concepts.

    Communication is a skill, and you will get better if you work at it. However, the best way I have found to do this quickly is to get feedback from others.

    Take the Challenge

    Challenge yourself and start blogging today. Even as little as 15 minutes a week can really help you showcase your knowledge, and give you an edge for your next interview.

  • Checking Permissions for Keys–#SQLNewBlogger

    Another post for me that is simple and hopefully serves as an example for people trying to get blogging as #SQLNewBloggers.

    I got a call from someone wanted to check how permissions were stored for encryption objects. I ran a quick double check for them and decided to write this short post.

    Let’s say that you create a few encryption keys. In my case, I’ll use this code to create a symmetric key, an asymmetric key, and a certificate.

    CREATE SYMMETRIC KEY MySalaryProtector
    WITH ALGORITHM = AES_256,
        IDENTITY_VALUE = 'Salary Protection Key',
        KEY_SOURCE = N'Keep this phrase a secr#t'
    ENCRYPTION BY PASSWORD='Us#aStrongP2ssword';
    GO
    
    CREATE ASYMMETRIC KEY HRProtection
    WITH ALGORITHM = RSA_2048
    ENCRYPTION BY PASSWORD = 'Use4SomeStr0ngP@ssword%^';
    
    GO
    
    CREATE CERTIFICATE MySalaryCert
    ENCRYPTION BY PASSWORD = N'UCan!tBreakThis1'
    WITH SUBJECT = 'Sammamish Shipping Records',
        EXPIRY_DATE = '20161231';
    GO

    I do this, I have these objects.

    2016-11-29 14_21_19-SQLQuery11.sql - 192.168.1.204_SQL2016.EncryptionDemo (sa (57))_ - Microsoft SQL

    Let’s now grant rights to these objects. I’ll use this code to grant CONTROL to a user.

    GRANT CONTROL ON SYMMETRIC KEY::MySalaryProtector TO JoeDBA
    
    GRANT CONTROL ON ASYMMETRIC KEY::hrprotection TO JoeDBA
    
    GRANT CONTROL ON CERTIFICATE::MySalaryCert TO JoeDBA

    Once I do this, I should see permissions, right? Let’s check.

    2016-11-29 14_25_30-Database User - JoeDBA

    I don’t see any permissions in the dialog above. That’s not exactly what I’d want to see. After all, if I’m trying to determine why a user can’t access a certificate, I’d want to know if they had rights here.

    Instead of this, I need to use T-SQL, and check for specific classes in sys.database_permissions. Here’s the query looking for class 24 (symmetric keys), 25 (certificates) and 26 (asymmetric keys).

    2016-11-29 14_27_57-SQLQuery11.sql - 192.168.1.204_SQL2016.EncryptionDemo (sa (57))_ - Microsoft SQL

    You can see that I have permissions in here, and if I check the principal_id, I’ll find these are for my user. I could also join to database_principals and get specific information for my user.

    2016-11-29 14_30_41-SQLQuery11.sql - 192.168.1.204_SQL2016.EncryptionDemo (sa (57))_ - Microsoft SQL

    #SQLNewBlogger

    This took a bit longer as someone asked me a question and I didn’t know the answer. I had to dig and read some documentation, but I found some answers and documented things myself.

    Learned something, showed it, and hopefully will remember it from now on.

  • Administrative Native and ConEmu Command Prompts–#SQLNewBlogger

    Another post for me that is simple and hopefully serves as an example for people trying to get blogging as #SQLNewBloggers.

    I would think many people know how to do this, but I’ve run into a few, so here you go.

    There are times you need to run elevated commands on a machine as an administrator. I’ve had to run various apps, as well as command utilities in this way, so I’ve learned how. I’ll give you two ways to get admin command prompts running.

    Cmd.exe

    This is the command prompt most people on Windows use. You can hit the Windows key and type cmd, and you’ll see this:

    2016-12-09 12_53_21-Installation

    On Win 7 or earlier, you’d get something along these lines.

    2016-12-09 12_55_01-Win7x64 SQL 2012 Demo - VMware Workstation

    In either case, if you hit Enter, you’ll get this:

    2016-12-09 12_55_47-Win7x64 SQL 2012 Demo - VMware Workstation

    A command line where you can type DOS style commands. Many of you might not use this much, but you should. The more you know about doing things from the command line, the more efficient and effective you’ll be. Plus you’re well on your way to being comfortable in DevOps type environments.

    This isn’t a privileged command prompt, and certain things won’t work here. To get an administrative level prompt, do this. First, after typing “cmd” don’t hit enter. Instead, right click the icon. You’ll see this:

    cmd_a

    Or this:

    2016-12-09 12_57_30-Win7x64 SQL 2012 Demo - VMware Workstation

    In both of these, there is a “Run as administrator” option. You want that. Once you do, you’ll need to accept the UAC prompt to allow an administrative level command prompt to open.

    ConEmu

    I have switched to ConEmu. I think it’s a much better console, and it’s handy. I get it with Chocolatey, and then it’s just a hot key away. What’s more, I can easily open multiple command windows. For example, I’ve got two open, but I can open a third, administrative level one, but right clicking allows me to restart my prompt.

    2016-12-09 13_02_09-cmd

    When I do that, I need to acknowledge the UAC prompt, but then I’ll have an admin level prompt.

    SQLNewBlogger

    These quick, handy tips showcase your continuous learning and improvement. As well as help you remember cool things like this.

  • Quick Command Shells–#SQLNewBlogger

    Another post for me that is simple and hopefully serves as an example for people trying to get blogging as #SQLNewBloggers.

    This isn’t a SQL post, per se, but since I’ve been using lots of PowerShell for SQL stuff at times, this is a handy trick I picked up.

    I was reading the announcement on the Windows Insider build 14971, which will have a few new things. One of these is the default command shell won’t be cmd.exe any longer. It will be PowerShell.

    Buried in the announcement was a tip I’d never heard. I don’t have any real cmd additions to my Windows machines, so to get to a particular folder in a command shell, I usually do lots of “cd”s or I right click in the address bar, and copy the path. Thankfully Windows 10 lets me paste this easily into a command prompt.

    2016-11-21 16_21_20-EndtoEndEncryptionwithSQL2016

    There’s another way.

    I can click the address bar and type “cmd”.

    2016-11-21 16_21_47-EndtoEndEncryptionwithSQL2016

    When I do this, I get a new command prompt at that location, as shown here. I do install ConEmu on my machines, so that’s where the prompt opens.

    2016-11-21 16_21_55-cmd

    That’s super handy.

    We’ll see how may workflow changes when PoSh is the default shell, but I’m looking forward to it.

    #SQLNewBlogger

    The quick tips that help me work more efficiently are what I’m writing in these posts. Here’s one that took my 5 minutes, and you can write this kind of post as well. Show off what you know, do, and have learned.