I am going to be at a few conferences in upcoming weeks and I would like to share them here with you. Main objective here is to tell you about where I am going to be and this should help meeting new people and learning about different experiences. Jeremy Clark, a friend I met at Codemash 2016, has an amazing blog post on becoming a social developer. I encourage you to check that out to see why and how.
DevConf, Johannesburg (8th of March)
I am very, very excited about DevConf. Source of this excitement is the talk I will deliver there and the content of the conference. I will be presenting on architecting polyglot-persistent solutions as part of the Persistence and Data track. This is a topic which is very close to my heart as I had the first hand experience while working on Zleek on what a big difference this type of architecture can make on your software product. It will also be the first time I will deliver this talk.
Rest of the agenda also looks pretty impressive. So, I am sure this will be well worth the long trip to South Africa :)
Microsoft Build 2016, San Francisco (30th of March - 1st of April)
At the end of March, I will also be in San Francisco to attend Microsoft Build conference. This is also very exciting for several reasons. Obvious one is that there will be a lot of existing and soon-to-be friends there from the community and this is a very developer centric conference in view of Microsoft products. Also, I don't get to attend conferences that often as an attendee. I am sure I will feel the comfort of gliding through the session rooms and not trying to prepare for a talk. If you add the fact that this is going to be my first trip to San Francisco, it will be a real fun :)
Last year, my wish for Build Conference announcements came true with Visual Studio Code and I am very much looking forward to this year's announcements, too.
I T.A.K.E. Unconference 2016, Bucharest (19th - 20th of May)
At I T.A.K.E. Unconference 2016, I will talk about two very interesting topics and I think both of them are very interesting considering the type of software solutions and the way we produce them nowadays.
- How Docker Changes the Way You Work with and Release Your Microservices
- Zero Downtime Deployment Golden Rules
I am very much looking forward both of them since it's going to be the first time that I present these sessions. It seems like it's still possible to register and you can also check the rest of the schedule out here.
If you are going to be around for any of the above events, let's meet and say hi to each other :)
I love the feeling when I discover a tiny, hidden tool which I can put into my daily software toolbox. I started to sense this feeling more and more lately with some amazing command line tools and I want to write about those here (famous last words) like I did for http-server and WAStorageEmulator.exe a while back. Today, I want to start this by writing about SqlLocalDB.exe, a management utility tool for Microsoft SQL Server Express LocalDB which allows you to manage the LocalDB instances on your machine such as creating, starting and stopping them. This is really handy if you are after creating lightweight SQL Server instances for temporary processing like we do as part of some DLM Automation Suite PowerShell cmdlets (e.g. Invoke-DlmDatabaseSchemaValidation).
I am not entirely sure hot you would install this tool and I failed to find out exactly how. However, it seems like this comes with the LocalDB installation and you can acquire that through here (also check out Scott Hanselman's ironic "Download SQL Server Express" blog post).
This may depend on the version you installed but I can locate the SqlLocalDB.exe under "C:\Program Files\Microsoft SQL Server\120\Tools\Binn" on my machine and after that, it's just executing the commands. For example, I can execute the info command to see the LocalDB instances I have in my machine:
C:\Program Files\Microsoft SQL Server\120\Tools\Binn>SqlLocalDB.exe info MSSQLLocalDB RedGateTemp
I can also list which versions of LocalDB I have installed on my machine:
C:\Program Files\Microsoft SQL Server\120\Tools\Binn>SqlLocalDB.exe versions Microsoft SQL Server 2014 (12.0.2000.8)
Let's create our own instance through the create command:
C:\Program Files\Microsoft SQL Server\120\Tools\Binn>SqlLocalDB.exe create tugberk LocalDB instance "tugberk" created with version 12.0.2000.8.
You can view the status of an instance through the info command by passing the instance name as an argument:
C:\Program Files\Microsoft SQL Server\120\Tools\Binn>SqlLocalDB.exe info tugberk Name: tugberk Version: 12.0.2000.8 Shared name: Owner: TUGBERKPC\Tugberk Auto-create: No State: Stopped Last start time: 2/18/2016 12:06:00 PM Instance pipe name:
Let's start the instance through the start command:
C:\Program Files\Microsoft SQL Server\120\Tools\Binn>SqlLocalDB.exe start tugberk LocalDB instance "tugberk" started.
We can see that it has started:
C:\Program Files\Microsoft SQL Server\120\Tools\Binn>SqlLocalDB.exe info tugberk Name: tugberk Version: 12.0.2000.8 Shared name: Owner: TUGBERKPC\Tugberk Auto-create: No State: Running Last start time: 2/18/2016 12:09:28 PM Instance pipe name: np:\\.\pipe\LOCALDB#7F6D2993\tsql\query
Great, now I can connect to this instance using the provided magical, special instance pipe name:
Or, LocalDB server name by prefixing the instance name with "(localdb)\":
If you dig a little deeper, you will see that an instance of "sqlservr.exe" has been started for your LocalDB instance:
You can also see that all LocalDB data is stored under "%LOCALAPPDATA%\Microsoft\Microsoft SQL Server Local DB\Instances".
From there, you can treat this instance as a usual SQL Server instance and perform whatever operation you want to perform on it. Be aware that LocalDB has the same limitations as SQL Server Express.
Finally, you can stop the instance through the stop command:
C:\Program Files\Microsoft SQL Server\120\Tools\Binn>SqlLocalDB.exe stop tugberk LocalDB instance "tugberk" stopped.