SQL Server 2017 RC1 is Here

And I’ve got it.

2017-07-17 10_33_19-SQLQuery1.sql - 192.168.1.210.master (sa (52))_ - Microsoft SQL Server Managemen

Glenn Berry posted a a link to the MSDN blog and almost immediately a note that the link was still the CTP. I decided to fire up my Ubuntu install and check. No updates there, though a few people reported Docker had the new bits.

A short while later, the Windows link was correct, and my Linux update worked.

I did re-register the repository

curl https://packages.microsoft.com/config/ubuntu/16.04/mssql-server.list | sudo tee /etc/apt/sources.list.d/mssql-server.list

And then the rest was the same as previous updates. Quick and easy, a few command line things to type and I was updated.

Now I need to get Docker working, since I’m betting we’ll see updates and changes there faster than anywhere else.

Posted in Blog | Tagged , , | 2 Comments

PowerShell $env Variables

I was playing with containers the other day, reading a Simple Talk article on the topic, and noticed the code in PowerShell (PoSh) used the $env:xx syntax for variables. I know I’ve seen this before, but for some reason this struck me as something I knew little about.

I decided to search a bit. One of the first links was from WindowsITPro, and they had some great code: Get-ChildItem ENV:. When I run that, I get lots of information:

2017-06-14 14_59_52-powershell

There are more items, but there are some interesting ones that I think could be useful for me, especially with automation. I have a OneDrive path, my home path, the Username, and more.

I know I’ll never remember most of these, but really I just need to remember one: Get-ChildItem ENV:

Posted in Blog | Tagged , , | Leave a comment

Short Names

I started using computers a long time ago, and in the PC world, we were often limited to an 8 character name and a 3 character extension. Unix and MacOS allowed longer names, and many of us in DOS and Windows were jealous. Eventually Windows evolved, allowing long names, spaces, and really quite a bit of latitude in what you want to name a file. For example, try this and see what happens on your SQL Server:

BACKUP DATABASE Sandbox TO DISK = 'Sandbox.thisisafullbackupthatIusetostartarestore'

However, the three character extension still dominates, and many applications still use this. Microsoft has started to get away from this, as we have .docx, .xlsx, etc. Other vendors and software systems have started to expand names slightly. I was reading about the SQL Server Diagnostics Preview and noticed that the engineers will take a dump file (.dmp) as well as a mini dump (.mdmp) and a filtered dump (.hdmp).

Now I know developers are lazy, and they don’t like to type, but in these days of auto-completion and other tools, why are we limiting ourselves. Why wouldn’t we use .minidump or .filtereddump as descriptive way of identifying the file? If we are no longer bound, why not include a better extension? I can’t imagine that the filesystem for many tools would be stressed by longer names.

I’m assuming that people still feel bound to using the shortest set of letters that they think are unique, but with the growth of software applications from many, many sources, why not just be more descriptive? Would you want to see better filenames? I know I would.

Steve Jones

The Voice of the DBA Podcast

Listen to the MP3 Audio ( 2.7MB) podcast or subscribe to the feed at iTunes and Libsyn.

Posted in Editorial | Tagged | Leave a comment

Cool Projects

This editorial was originally published on Aug 23, 2013. It is being re-published as Steve is on vacation.

I had a conversation recently with a developer that was working on a rather neat problem. This had to do with a financial system and it involved some complex calculations and real time interactions with a variety of systems. It was important for their company, and a lot of pressure was on this developer to not only deliver this software quickly, but also to have it perform at a very high level. This particular person was using Red Gate’s ANTS Performance Profiler to dig into their code, feeling pressure to make it as efficient as possible.

However this developer was also enjoying the work. It was a challenge, and it was a cool project.

I know this community is made up of people working in all sorts of industries, in a variety of roles. We develop many different kinds of software. Some may be for employers, some may be for ourselves, some may be for a side business, but  across that spectrum of work, there are some interesting applications.

What cool things are you working on?

It might not be software. Perhaps you’re working on an interesting data application, like a super collider. Maybe you work on some gaming software or a large hardware system. Perhaps you deal with a system that makes people’s lives better, easier, or even possible. I’m sure more than a few of you work on some real time systems, which have all kinds of data challenges.

Let us know this week what type of interesting work you’re doing.

Steve Jones

 

Posted in Editorial | Tagged | Leave a comment

T-SQL Tuesday #92–Hard Lessons

A quick post, written last week as I’m relaxing in the mountains.

This month the topic is lessons learned the hard way, from Raul Gonzalez. It’s interesting, and certainly one where I have experience. I make mistakes regularly, though I tend to fix them.

You can read more about T-SQL Tuesday and learn how to participate, or even respond to old prompts at tsqltuesday.com.

A Hard Lesson in Preparation

I worked for a financial services company at one point, managing the live systems as well as performing database development. I had a few people working for me, some in each area, and we had contracts with a number of clients. Quite a few of these contracts specified a yearly DR test at a remote facility.

The first year I was there, we packed up tapes and documentation, carpooled for 4 or 5 of us as if this were a disaster, and started rebuilding systems. Our contractor supplied xx servers as per our contract, and we had to start from scratch.

We didn’t do well, and couldn’t get our web app or client server apps running completely. The db restored, but the system and docs were out of date. I knew this, and we updated some things, but we didn’t take the process seriously.

A few months later our largest client was unhappy. Since we couldn’t get the website running, they wanted another test. At their site.

Myself and another were chosen to fly to their site, shipping out spare servers and software. We had to wipe the drives and rebuild the system from scratch. Since the two of us had been at the DR test, we assumed we’d learned enough to do this in two days, sure we could rectify all the mistakes from the test team.

We couldn’t. After two days, we didn’t have everything running, with too many dependencies and issues from various web components. Our developers had been running wild, with admin access to the webserver and database server, resulting in wonderful unique, snowflake servers that were hard to reproduce.

Inadequate preparation, as well as poor security for years, contributed to the failure. I did get the database working, but that didn’t matter since this client used web access only. I had to take a large portion of the blame since I managed systems, and our company paid a penalty.

It was embarrassing for me, personally and professionally. I hadn’t done a good enough job being ready for a disaster. This did server to motivate me to start cleaning up the systems and ensuring we could rebuild a new web server if needed, but it was a hard, and expensive lesson, to learn.

Posted in Blog | Tagged , | Leave a comment

Taking a Break

No blogging this week. I’m taking a much needed break in the Colorado mountains with my family.

I’ll likely be unwired for the most part, so not responding to email, tweets, texts, comments, etc.

Enjoy the week everyone.

Posted in Blog | Tagged | 1 Comment

Bash on Windows

With SQL Server coming on Linux, some people will want to learn a bit of Linux. Or perhaps they need to get re-acquainted with the OS, which is my situation. I grew up on DOS, but moved to Unix in university. I’ve dabbled in Linux over the years, but with no real use for it over Windows, I abandoned it a decade ago.

Now, I’m trying to re-learn some things as I play with SQL Server on Linux.

Recently I saw a quick video from Scott Hanselman on the Bash subsystem in Windows. I actually first saw this live at the Build 2016 announcement, but when it was added in Beta to Windows 10, I didn’t add it. I’ve been meaning to, but hadn’t.

Until today.

The video shows, but there are two things to do, well, really 3.

First, enable developer mode. In the W10 Control Panel, type “developer” and you’ll find under Update and Security, a “For Developers” option. I’d enabled “developer mode” before, so that was done for me, but check that box (shown below).

2017-06-28 16_34_18-Settings

Next, hit the Windows key and type “Windows features”. You’ll get this:

2017-06-28 16_34_56-Photos

Click that, and in the dialog, scroll down. You’ll find the Windows Subsystem for Bash. Check it.

2017-06-28 16_35_32-Windows Features

Then Windows will tell you to reboot, so do that. After you reboot, type “bash”.

2017-06-28 16_40_02-Editorials - sjones@dkranch.net - Evernote

The command “bash” will open the shell. Once you do that, you have bash running.

2017-06-28 16_40_25-MINGW64__c_Users_Steve

There are options here, though I’m sad this doesn’t integrate into my ConEmu terminal. Maybe soon. The first thing I did was raise the font, because, well, I’m old.

2017-06-28 16_40_49-Options

I’ll have to play around, and get familiar with bash again. I won’t use it a lot, but it could be handy when working with SSoL and needing to SSH or otherwise connect to that vm without firing up rdp or my VMWare console.

I don’t remember lots of commands, but I did manage to get to my C: drive.

2017-06-28 16_44_19-MINGW64__c

Posted in Blog | Tagged , | Leave a comment

Learning Data Modeling

Last week I wrote about database design tests in interviews. Many of you noted that you hadn’t been asked to perform any design in tests, and plenty of you noticed that ER diagrams are a rarity. Those experiences match mine and are a little disappointing for our industry. Even for software developers, many of whom don’t build databases, I’d expect that ER diagrams to be helpful and plentiful. Our clients are often developers and report writing businesspeople. Why don’t they demand better documentation?
If they were to ask for us to produce ER diagrams and documentation, I’d hope most of you could produce one, even using SSMS or some other tool. However, can you design the storage for your business requirements in a way that you would feel comfortable presenting to your peers? Do you think you can build a database that efficiently stores data, performs well, and is easy for application developers to work with? If so, I have a question.
What resources would you recommend for others to learn about data modeling?
We have a dearth of database design articles on SQLServerCentral, though we do have a Stairway Series on Database Design. I don’t know how easy it is for most developers, or even database architects, to read and understand. I realize that modeling and designing databases can be complex topics, and it does take some effort to learn to do it well, but I also believe that we need practical, easy to approach articles that lead people through the concepts.
I’d love to see more articles from real world people that discuss designing sections of databases. How do you handle scheduling systems? Inventory tracking? Customer details? If anyone wants to write articles that might lead a reader along (such as Paul White or Brandie Tarvin did), we’d love to have them submitted at SQLServerCentral.
Steve Jones

The Voice of the DBA Podcast

Listen to the MP3 Audio ( 3.2MB) podcast or subscribe to the feed at iTunes and Libsyn.

Posted in Editorial | Tagged | 2 Comments

The March of AI

Machine learning and AI systems are becoming more and more popular all the time. The constant onslaught of media articles and hype is pressuring more and more companies to experiment with AI systems. Whether these techniques work or not, no manager wants to be the one that has ignored the trend. A failed machine learning venture might be preferable to the lack of any project in the eyes of many in upper management.

Our vendors press as well, after all, sales are on the line. I wasn’t sure how useful the R language would be inside SQL Server, but I am amazed at the effort and popularity of R among SQL Server professionals. R, and possibly Python soon, are becoming integrated into every product and tool from Microsoft, as well as other vendors. Every month I see more and more people experimenting and learning how to use R for a wider variety of tasks, from analyzing disk space and database performance to extrapolating business measures.

Most of us aren’t skilled enough in math and statistics to really develop and build intelligent systems. We don’t have the background, or we haven’t worked in those areas for a long time. However, many of us can learn to work with ML and AI systems, managing the models, integrating the code others write into our applications. I do think there is value in learning a bit about these technologies, though I don’t think you need to become an expert. Some of you might want to be experts, and I wish you the best of luck on your journey.

I do believe that AI will change the world. It’s going to become a larger and larger part of many systems and processes throughout the world. These intelligent systems will press and push humans in ways that we don’t expect and that we might not like. For us data professionals, we will be at the heart of many of these changes, with opportunities to grow our careers we might never had considered.

Steve Jones

The Voice of the DBA Podcast

Listen to the MP3 Audio ( 3.0MB) podcast or subscribe to the feed at iTunes and Libsyn.

Posted in Editorial | Tagged , , | Leave a comment

Becoming an MVP

“Climb the mountain to see the world, not be seen by the world.”from Tim Ford.

This past July 1 was the renewal date for a number of Microsoft MVPs. The program has changed in the last year, moving from a quarterly nomination/renewal to a monthly award. The first of every month moving forward will see new MVPs awarded. All MVPs are now renewed on July 1.

For existing MVPs, we had a bit of a change, and some of us were up for renewal this year, and some next year. I happened to move from my Jan 1 date to next year, so that’s when I’ll find out if I am going to be recognized by Microsoft again.

There were a few surprising changes last week, when a few people were not renewed as MVPs. I expect that the bar for being an MVP has been raised, with so many more individuals participating in blogging, speaking, software, and more. The level of community participation in 2015 might not have been enough in 2016 to be renewed.

How do I Become an MVP?

“Climb the mountain to see the world, not be seen by the world.” 

As the quote notes, you should tackle the challenge without any concern about whether or not the world, or Microsoft in this case, notices.

Help the community publicly. You can do this in many ways:

  • Write technical articles
  • Speak at technical events
  • Organize events
  • Build OSS software
  • Answer questions online

There are any number of ways to be a community person, but do so because you want to. Become the best technical community person you can, and you won’t be sorry.

If you meet some bar, and are nominated (feel free to ask others to nominate you), then you may be awarded, but you should help others because you want to. Not because you expect to be repaid with an MVP award.

Help others because you want to help others, not because someone will see you helping.

Once an MVP, always an MVP

The people recognized by Microsoft are chosen based on their community contributions in a period of time. However, these are smart people who are capable, helpful, and friendly. They will always be an MVP to me, and likely always willing to help. They continue to learn, teach, and expand their knowledge of technology.

They can always remember that they were recognized as an MVP by Microsoft, even if they aren’t today.

Posted in Blog | Tagged , | Leave a comment