Social: Respecting Names

This is a non-technical post, and my opinion. If you don’t want to read it, please ignore future posts with “Social:” at the start of the title.

My nickname is Steve. Actually, it’s my middle name, but it’s a name I chose and I decided that I wanted to go by that moniker. I used to dread the first day of school as a kid when teachers would take attendance and use my name. I didn’t want them to use it, and I’ve certainly had my share of giggles or jokes directed my way during my youth. It got to the point where I learned in high school and college to go to class early and have a private moment with a teacher and ask them to call me Steve.

It was annoying, stressful, and honestly, rarely a problem. However, a few times I had teachers that refused to use nicknames, and I hated going to their classrooms. Heck, I likely thought I hated them. I’m not sure how far that hatred would go in different situations in the real world, but I had no respect for those individuals and tried to never interact with them.

In some sense, the world has changed a lot. My kids have gone to school with classmates that have all sorts of names, from different cultures and strange spellings. They accept them all and address them however they wish to be addressed.

To me, that’s one sign of progress. Names that would have been made fun of or blatantly laughed at over and over during my childhood, are just accepted as the way it is. I see this even in my rural county.

These days in a professional environment, I couldn’t imagine ignoring a co-worker’s wishes. If someone asked me to call them Jack when their name is Joseph or Sally when their name is Sandra, I would. I coached a kid for a couple years as Katie. She asked me at some point to call her Kate, and I did. Her Mom forgot constantly and referred to her as “Katie”, and I could see how annoyed the young lady would get. I remembered my experience and acceded to her wishes.

When I read Randolph West’s recent article, I was reminded of my youth, reminded of how I wouldn’t ignore the wishes of someone I knew well, and questioned why I, or anyone, wouldn’t just be polite to others and address them as they would prefer.

I find the idea of referring to a singular person as “they” to be strange. But how hard is that to change? If Randolph asked me to call them “Buddy”, would I object? Why is a pronoun harder than a noun? It’s not, and I’m working to adjust.

I find the same thing to be true of other references, nouns or pronouns, that people find objectionable. Often I don’t think the term is offensive, but that’s my view. Is it really that hard to change my language, my writing, my speech to treat someone else as they’d like to be treated?

It’s not. It might be annoying for me. It might be uncomfortable. Heck, I’ll make mistakes. I’ve apologized to Kate a few times. Not that many because I learned quickly, and she was worth the effort to learn to do better.

I think most of us feel it’s worth the effort for those that we are close to, or that we know. Why would it be harder to adjust for those we don’t know, and respect their wishes.

I’m sure I’ll mess up with Randolph, but it’s on my mind to do better. I actually typed “him” above and caught myself, adjusting to the unfamiliar “they”. I even learned to ignore the grammar checker and let it know that I know better in this case.

Learn, adapt, grow. Many of us do this all the time in technology. We ought to do it in our dealings with others as well.

Posted in Blog | Tagged , , | Leave a comment

Finding Separation During WFH

Work life isn’t the same for all of us. In fact, as I read through this HN thread, I find that work is more varied than I often consider. I haven’t worked for any of the big tech firms (FAANG or MSFT), but I have worked for companies that had a variety of perks, including food, gyms, childcare, and more. I’ve taken advantage of, and not been interested in, these perks at different times in my life.

Many of us are working from home (WFH) for the first time in an extended fashion. I’ve been quite fascinated in the differences amongst my co-workers. Most of them love this and are looking forward to the remainder of the year at home. Some don’t like it, and feel trapped. I’ve been WFH for nearly 20 years, but I’ve often been able to change my environment through travel or working in public spaces, which aren’t really a good idea right now, even if possible. So I’m perhaps struggling to cope more than I expected.

Now that we’re four months in for most of us, I wonder how many people are coping, and maybe more importantly, how are you achieving separation from work in your life? Are you setting work hours or shutting down your work communications? Perhaps you have some other technique?

I have tended to pop into my office often in the past, most every day, even weekends. The flip side if I often pop out of the office during the week for the gym or to do some personal task. I’ve also started to avoid even going into my office on the weekends, using my laptop if I need to browse the Internet for some knowledge, without opening Slack/Outlook/Twitter/etc. Trying to completely disconnect on the weekends.

If you are coping, or perhaps not coping, feel free to drop a note in the discussion, give a tip, ask for advice, or just let us know what you like or don’t like about your environment.

Steve Jones

Listen to the podcast at Libsyn, Stitcher or iTunes.

Posted in Editorial | Tagged | 2 Comments

Daily Coping 7 Aug 2020

I started to add a daily coping tip to the SQLServerCentral newsletter and to the Community Circle, which is helping me deal with the issues in the world. I’m adding my responses for each day here.

Today’s tip is to get a long hug from someone that is important to you.

I’ve seen research in the past that hugs are beneficial. A couple years ago my wife said that a 10s hug is a good idea, and I started to try it. Those of you that know me well and have seen me at an event in the last year might have gotten a long, perhaps slightly uncomfortable hug.

My apologies if you felt that way,  but most people tense up after 2 seconds, but relax after 5 and go with it, especially when I explain they’re here for 10 seconds. A few people, including one of my son’s, have started to look forward to them.

We had dinner with a friend recently, and when I walked up, she stood up, ready for her “bear hug”, as she calls it. It was a nice ten seconds, both of us whispering how good it was to see each other.

A bonus for her, since she got 20s of hugs, one each from my wife and I.

Posted in Blog | Tagged , , | Leave a comment

Creating a SQL Clone Agent and a First Image

In a previous post, I set up the SQL Clone server. This is really a metadata store and web front end, but it does no real work. The Agent service, which is installed on each SQL Server instance that will work with clones, does the work.

This post looks at installing the agent and then creating the first image and clone of a database.

Downloading the Agent

To get a SQL Clone agent, you need to have access to the SQL Clone Management server. This is a web application, with a URL that defaults to the name of the machine where you installed the server and port 14145. You do not have to be logged into this machine, but rather, logged into a machine with SQL Server that you need an agent on.

For me, I installed this on Aristotle, so I go to:

http://aristotle:14145/dashboard/

The Getting Started screen appears, which we saw in the last post. I want to click the “Download agent”.

2020-07-30 16_29_56-SQL Clone

This downloads a file, but before I run this, I need a service. On the Agent installation doc page, you see some architecture. While I am using the same machine, for many PoCs, I’d likely have installed the server on a central machine, such as the SRV-SQLCLONE machine in the image below.

2020-07-30 16_45_51-Artboard 12.png (5334×3334)

In many POCs, my laptop, or some shared development SQL  Server instance, is represented by SRV-HC1-SQL1 above. This is where I connect to as a developer and deploy clones. Or maybe I need an agent on my local workstation, WKS-DEV-01.

In any case, I need a service to run the agent. While I could use my local account, I don’t recommend this. I really want a separate account. Get in this habit. Learn to use Group Managed Service Accounts or deal with separate domain service accounts.

For me, I use SQLCloneAgent on each machine that runs as an agent, so I’ll create that account.

2020-07-30 16_48_28-New User

This does need some special Windows permissions. The install will allow it to be a service, but this does need to be an admin to use the Virtual Disk Service. Let’s ensure this is working.

2020-07-30 16_50_56-SQLCloneAgent Properties

This account also needs read/write access to the share, so I’ll alter the share with permissions.

2020-07-30 16_51_46-

This does need SQL Server permissions. This agent will create and drop databases regularly on the local SQL Server instance, and so it needs to be able to do that and manage those items. While you may be able to get away with CREATE DATABASE permissions, the documentation notes this account needs sysadmin privileges.

It might seem that create/alter any database is sufficient, but that’s not the case. The agent checks this access, so grant this.

The agent doesn’t connect to the

With the account created and the permissions on the share, let’s install the agent.

Installation

This is a standard Windows install process. There is a procedure for a silent install, but I’ll do this interactively. Double clicking the downloaded EXE runs the install.

2020-07-30 16_57_32-Redgate SQL Clone Agent

When this completes, I get the config process.

2020-07-30 16_57_48-SQL Clone Agent Setup

Clicking Continue asks for my service account.

2020-07-30 16_58_07-SQL Clone Agent Setup

In a moment, if I’ve typed the credentials correctly, I see this.

2020-07-30 16_59_06-SQL Clone Agent Setup

In Services, I see this running. Note, the Clone Management services happens to be here, but this isn’t required. This could be on another machine.

2020-07-30 17_00_20-Services

In the settings of the SQL Clone application, I can see my agent listed. In fact, as you add new agents, their version and status is listed.

2020-07-30 17_01_00-SQL Clone

This is working, so let’s proceed.

Creating a Cloned Database

Once I have an agent, the Getting Started flow has a new option: Create an image.

2020-07-30 17_03_08-SQL Clone

I click this and I need to pick a source. I’ll pick an existing database on this instance, so I select “SQL Server”.

2020-07-30 17_03_14-SQL Clone

This gives me two dialogs. I enter a SQL Server name, and SQL Clone will check that my agent has sysadmin access. Once it does this, I can select a database on this instance.

2020-07-30 17_07_10-SQL Clone

I click Continue to set up modifications. The main purpose of SQL Clone is to allow you to use full size production databases in development, by saving space and masking out PII data. This is a test, and I’m picking a dev database to make an image, so I’ll leave this alone and move on.

2020-07-30 17_08_38-SQL Clone

I need to select a location for my image. In this case, I’ll enter the share I created in the first post.

2020-07-30 17_09_54-SQL Clone

Now I need to enter the name for this image and check that I have what I wanted to be entered.

A word on naming. I know some people will name these with dates, which I used to do. However, for the most part you will have 2-3 images for any database in rotation.

2020-07-30 17_11_14-SQL Clone

When I click create, this starts running. I can see some progress on the dashboard. In this case, this is a 10MB database, so it runs quickly. When the creation is done, the dashboard updates with the activity item in the upper right, and I can see the image at the bottom.

2020-07-30 17_11_50-SQL Clone

I can see my image in the share. This is a VHD in a folder, and I don’t want to mess with this. I can see the size, however, which is my data size.

2020-07-30 19_34_07-simpletalk_current_00000001_see

This is an image, but I don’t have a database, so let’s quickly deploy a clone. On the left menu of SQL Clone, let’s click Create Clone. This gives me a place to select an image (of which I only have one now).

2020-07-30 19_34_45-SQL Clone

I can  modify this during deployment, but let’s skip that.

2020-07-30 19_35_17-SQL Clone

Next I need to pick an instance to deploy this clone on. I’ll pick my local instance.

 

Once I do that, I give this a name. This is the database name I see in SSMS.

2020-07-30 19_36_04-SQL Clone

I create this, and I see it in SQL Clone:

2020-07-30 19_36_50-SQL Clone

and SSMS:

2020-07-30 19_37_00-SQLQuery4.sql - ARISTOTLE_SQL2017.master (ARISTOTLE_Steve (55))_ - Microsoft SQL

Summary

That’s a quick look at getting an agent installed and testing it’s working with an image and clone. I can now work with the SimpleTalk_Test database as I would any other. Once I’ve tried something, I can get rid of it and recreate it easily, or create copies if I want to test multiple things.

SQL Clone is a valuable tool that changes the way you work with databases, allowing developers and automated systems to work from a known base for their code changes. With frequent recreations of updated images after deployments, you can always be sure that your developers have a consistent foundation.

Try SQL Clone today if you are looking for a way to consistently and easily deploy databases for your developers.

Posted in Blog | Tagged , , | Leave a comment