One of those services that I offer is on call help for DBA’s who encounter database corruption. Call me anytime 24/7 and as long as you are an existing customer, or we can work out a billing arrangement to turn you into a paying customer, I can help.
That’s all a good if you are familiar with what database corruption is. But based on the occasional phone call that I receive based on my outreach to help with database corruption, it makes me think that I haven’t done the best job describing what corruption is.
A few minutes ago at 12:15am, my phone rings, I was sound asleep but it woke me up and I answered it. Still a bit groggy I hear a voice on the other end asking “Are you the one who can help with database corruption removal?” to which I answer yes. He then goes into a story about how he has just been fingerprinted and he wasn’t supposed to be arrested. He goes on to describe how he didn’t feel that he should have been arrested, but the police officers have told him that now that his fingerprints are in the database, there isn’t anything they can do to undo it. I break in with “sorry that’s not the type of work I do”, and he continues to request my help to to get his fingerprints out of the database and remove his arrest record. I end the call, and hope that this wasn’t his one phone call that he is allowed when he was being booked.
Here is a quick update on the last 3 podcast episodes that we have published, ending up 2016, and starting out 2017 with some great information from Paul Turley, Jimmy May and Argenis Fernandez.
Episode 77: New Reporting Options with Paul Turley
We invited Paul Turley on the show to chat with us about some of the new features in SQL Server reporting services, but were pleasantly surprised to have the conversation take a different direction. Paul talks about some of the new training available for those interested in visualizations and why this community can be hard to define–and connect with. There are so many visualization options and even within Microsoft we have many products that overlap in functionality. In addition to talking about the pick list items of new features, Paul gives some guidance and why you should choose certain products and what makes good use case scenarios for some of the new features.
With the new analytics features now available in SQL Server 2016 via SP1, I think there is going to be additional requirements for data professionals to provide better analytics features and this episode is a good starter for how to frame those conversations.
Episode 76: Availability Group Improvements with Jimmy May
Availability groups provide some exciting features in mixing high availability and disaster recovery; however, from a performance consideration, there are a few drawbacks. With the advances in SQL Server 2016, our guest Jimmy May, set out to test the features and see if they could get some really high performance out of an availability group with two synchronous replicas. In this episode he talks with us about some of his findings and some of the pains associated with getting there.
“I’ve been a big fan of flipping the faster bit ever since even before I was a member of SQLCAT.” Jimmy May
Storage testing and validation is something what we to add under roles and responsibilities as DBAs. Every database we ever manage is going to need one, but how often do we kick the tires? Many times we’re basically told to go verify that array or we’re doing this POC, we’re testing this new storage, but are we really only testing connectivity? In this episode of the podcast, we chat with Argenis Fernandez about how he goes about testing a SAN array and the important metrics you should consider for your storage. If you are still using SQLIO or even Diskspeed to test the IO for your SQL Server, don’t miss today’s episode.
Today I had the opportunity to present on TempDB to the Spokane SQL Server users group (PASS Chapter). The session was titled TempDB – Do This and Don’t Do That”, and it covers a bunch of tips and best practices around what to do and avoid relating to TempDB on your SQL Server.
Here is the download of the presentation and samples.
DECLARE @logInfoResults AS TABLE
[RecoveryUnitId] BIGINT, -- only on SQL Server 2012 and newer
INSERT INTO @logInfoResults
EXEC sp_executesql N'DBCC LOGINFO WITH NO_INFOMSGS';
--SELECT AVG(FileSize) / 1024.0 / 1024.0 as AvgSizeMB, count(*) as VLFs FROM @logInfoResults ;
--SELECT FileSize / 1024 / 1024, [Status] FROM @logInfoResults ;
SELECT * FROM @logInfoResults ;
SELECT ISNULL(cast([Status] as nvarchar(10)), 'Total'),
GROUP BY [Status] WITH ROLLUP;
SQL Data Partners has been remastering some of the older podcast episodes, allowing for a better sound quality than what was originally done. These will be made available on YouTube as they are completed. Here is one of the more recent remastered podcasts.
An interview with Louis Davidson about database design. This one was recorded before I joined the show as the co-host, and was episode #8 originally aired on September 9th, 2015.
My good friend and business partner Carlos L. Chacon has just completed an introduction to SQL book, that he has just published on Amazon.
He is offering the Kindle edition for free for 2 days, December 14th and December 15th, 2016.
I often get asked if I can recommend a good book for a beginner just learning to write SQL queries, and I haven’t had a really great answer for a long time. The Zero to SQL in 20 lessons is it for someone who hasn’t written SQL queries before and wants to get started.
Carlos is making the book available for FREE on Amazon today and tomorrow. Only the kindle edition will be free.
Even if you have passed the basic stages, this book might be something you recommend to others. I invite you to check it out.
If you find you like it, I invite you to leave a review on Amazon. If you don’t like it, just give it 5 stars and them email Carlos what you don’t like about it. :)
With SQL Server now being available (pre-release) on Linux, I think we will see many SQL DBA’s who previously did not have Linux experience being forced into a new area. I am lucky in that I have had my share of Linux experience over my career, it has come easy to me. I figured I would share some Linux nuggets for those SQL DBAs diving into the Linux pool.
ls - List directory contents. Similar to dir on Windows.
top - Sort of like the Windows task manager, shows you the top applications using cpu and memory.
sudo - runs a program or command with escalated user permissions.
apt-get - used to install a program. Kinda like the windows "add or remove programs" without the graphical interface.
ufw - Uncomplicated Firewall, is a front-end to iptables. Use this to allow or prevent port access to your Linux Server.
ps - processes. Provides information on currently running process. For instance ps aux shows all running processes.
man - gets help on any of the Linux commands. For instance man ps provides the help page for the ps application.
That’s it for now, I will continue to grow this list as I have time.
Here is how you do it, using the UFW, or Uncomplicated Firewall on Ubuntu.
sudo ufw enable
sudo ufw allow 1433
While you are at it you may want to enable port 22 for SSH if that has not been allowed already. I also allowed 1434 for the dedicated admin console assuming that it is available on the Linux version of SQL Server v.next.
This week Microsoft made the v.next version of SQL Server for Linux available in the public preview. It has been a couple of years since I have worked with Linux, but I am excited and going to give it a try.