The App Compatibility Promise

I was listening to one of the Ignite keynotes, and I heard an executive say something about “if your app doesn’t work, we’ll help you fix it at no additional cost, or fix Windows.” I had stop and rewind and check, and then go look around. Sure enough, there is an App Assure promise for Windows 10 and apps.

This isn’t just for commercial software, but it lists custom line-of-business apps, third party apps, and more. Now, this doesn’t appear to be for everyone. The eligibility for at last the FastTrack portion of this is 150 or more licenses of Windows, Office, etc. However, it is a guarantee that they will help you.

There’s also a note that there isn’t a requirement for ISVs building Windows 10 apps. To me, that means there’s no good reason why more companies don’t take advantage of it. I do think, however, that there’s a missing component here.

Big parts of the Ignite keynotes, and in Microsoft’s marketing and messaging, is about data. That should mean that SQL Server and CosmosDB ought to be included in this promise. If there are regressions or bad plans, I’d hope that Microsoft would help them fix things. Or maybe promise that the compatibility mode would insulate apps.

I know that execution plans regress, sometimes on the same version, and guaranteeing performance or a plan across versions isn’t likely possible. However, I do think that Microsoft could provide more guarantees, perhaps with some caveats that if they need you to change code you will.

We all know that we need to test, test, test to ensure we aren’t introducing regressions or other issues. This isn’t a panacea, but it also isn’t a project. It’s an ongoing part of building any software, including database software. Many of us do this, but it becomes harder and more complex for ISVs that often deal with many versions. However, we pay lots of money, and I’d expect that they at least are supporting patches to existing software. I think that’s part of an informal contract that they ought to believe in.

Listen to the podcast at Libsyn, Stitcher or iTunes.

Posted in Editorial | Tagged , | Comments Off on The App Compatibility Promise

Daily Coping 13 Oct 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 put down your To-Do list and let yourself be spontaneous.

The weekends are my time to usually get a few things done. A couple weekends ago my wife was gone, so I got up to manage morning chores, including letting baby Phoebe and Saturn out.

20201006_082851

Then it was going to the gym to weight lift, then volleyball practice (coaching), then coming home and fixing fence until it got dark.

20201003_180755

The next day wasn’t better. Morning yoga, then packing up and driving 2 hour for a scrimmage for 4 hours, then returning home late.

That’s not uncommon for my weekends, with a list of things to do, and moving from thing to thing. Some are for me, some for others, but it’s busy.

I can’t let go of things today, but I was thinking about this a few days ago as I started this post. I was exposed to someone that had someone in their household test positive for COVID-19. Not direct exposure, but this is how things spread rapidly.

  • Person 1 exposes person 2
  • Person 2 exposes person 3
  • Person 3 thinks everything is fine and goes about their day exposing Persons 4-100.

I didn’t think I had it, and it was unlikely, but you never know. Being cautious, I cancelled some things and rather than look at a todo list, I decided to do a few things I rarely do lately. I ordered some takeout (curbside, after all I live in the country), sat on the front porch, ate, played some guitar, read a book, watched some sports, and let a portion of my day just go away, unwinding.

I briefly felt guilty, but decided this was a good choice for a day.

Posted in Blog | Tagged , , | 2 Comments

T-SQL Tuesday #131–An Analogy

tsqltuesdayThis month the T-SQL Tuesday invitation is from Rob Volk, the last of the crew that I pushed to host last year at a SQL Saturday. I managed to get four people to agree to host, and all did so. Rob is the fourth this year, and I’m grateful for him and the others for doing this.

In any case, this month’s invitation asks us to explain what we do. The title is data analogies, which makes sense as most of us participating work with data and so we likely all get asked what we do and we talk about databases. I’ve often said I worked with computers, then I work with databases if someone asks more. Few people want more depth.

However, while I do work with data, that’s not really the main part of my job. It’s more an adjunct responsibility that I enjoy.

A Newspaper

When I started SQLServerCentral with my partners and worked for myself, I had no shortage of people asking me what I did. At Boy Scouts, Volleyball practices, scholarship committees, and more, I was regularly asked what I did for a living. I tried a number of ways to explain the site, but eventually settled on this.

“I run a newspaper.”

I really do. I have a daily publishing newsletter that contains information for subscribers. Ads, sometimes funnies or puzzles, and articles they want to read. I have a daily deadline of getting things ready, but fortunately, I don’t have a lot that is time sensitive. It’s hard enough to keep up with a schedule without worrying about article A publishing tomorrow and article B needing to go out the next day.

Posted in Blog | Tagged , , , | Comments Off on T-SQL Tuesday #131–An Analogy

A Limited User for SQL Data Catalog

One of the things I’ve pushed for at Redgate is to document the minimum permissions needed for our products inside a database. Often this isn’t possible as some of our products require sysadmin, but some don’t. I was resetting Data Catalog up on a new machine and decided to limit things.

Installation

The installation does create a database, which you can do separately, but if you don’t do this, you need to grant dbcreator for the service account, at least for the install. If you create it, this page shows the more granular permissions if you want to do that.

The permissions needed are:

  1. ALTER ROLE [db_ddladmin] ADD MEMBER
  2. ALTER ROLE [db_datareader] ADD MEMBER
  3. ALTER ROLE [db_datawriter] ADD MEMBER
  4. GRANT CONNECT SQL

These permissions allow the service to write data to the various objects in the database.

Classifying Databases

Classifying databases is different. For this task, the account used to connect, which doesn’t need to be the service account, will read information about the tables, but does not read data. We just need to capture the column name and some metadata.

Again, this page gives a script, but essentially, we need these permissions.

    1. GRANT CONNECT SQL
    2. GRANT CONNECT ANY DATABASE (2012+)
    3. GRANT VIEW SERVER STATE
    4. GRANT VIEW ANY DEFINITION
    5. GRANT VIEW ANY SENSITIVITY CLASSIFICATION (2019+)

Once those permissions are granted to an account, you use the account to add the instance to SQL Data Catalog.

I’m glad that we’re documenting and limiting permissions where possible. We do understand data privacy and protection are important, and the advocates at Redgate try to push developers to use as limited permissions as possible when building products.

Posted in Blog | Tagged | Comments Off on A Limited User for SQL Data Catalog