Posts

Showing posts from October, 2018

Azure Data Studio - What is it and Who should use it?

Image
What is Azure Data Studio? Azure Data Studio is a cross-platform database tool for data professionals using the Microsoft family of on-premises and cloud data platforms on Windows , MacOS , and Linux . Previously released under the preview name SQL Operations Studio, Azure Data Studio offers a modern editor experience with Intellisense, code snippets, source control integration, and an integrated terminal. It is engineered with the data platform user in mind, with built in charting of query result sets and customizable dashboards. Who should use it? Azure Data Studio is a pretty awesome tool for Data Engineers and Data Developers to manage on-prem and cloud data sources.  It additionally allows for collaboration among cross platform teams.  For DBAs that transition to 100 DevOps and don't run day to day DBA management and configuration setup tasks this tool could be especially helpful to run snippets quickly.  For a production DBA I personally don't ...

SQLSaturday #767 October 27th, 2018 (Mahoney State Park)

SQLSaturday is a day-long free training event for SQL Server professionals and those wanting to learn about SQL Server. Admittance is free, all costs are covered by donations and sponsorships excluding lunch and a few other things. This Saturday October 27th was  SQLSaturday #767 hosted at Mahoney State Park between Lincoln and Omaha, Nebraska.  This even is a  great example of information sharing and a SQL server community that is simply awesome!!! Some presentation items can be reviewed and downloaded at  https://www.sqlsaturday.com/767/EventHome.aspx  Other sessions that you missed may still be reviewed if you look around on the presenters website, google or youtube.  Some of those examples are listed below. Monster Text Manipulation: Regular Expressions for the DBA by Sean McCown  - Video I'm It Survival Techniques of the Lone DBA by Monica Rathbun - Video on YouTube skip to around minute 7:00

Sears Holdings Corp., parent of the Sears and Kmart retail chains, filed for Chapter 11 bankruptcy - 10/15/2018

Image
If finally happened today that once retail giant Sears Holdings Corp., parent of the Sears and Kmart retail chains, files for bankruptcy protection and will close another 142 stores immediately. I am sad to see things move in the direction that it did and while they may not be the product and brands it once was, they have created many memories from its annual Christmas Wish Book catalog and Craftsman tool line that I will never forget.  I remember grabbing that catalog and circling everything I wanted for Christmas many years when I believed in Santa Clause.  I remember visiting the "Sears Tower" in Chicago when I was 10 years old and thinking that I could actually look over Lake Michigan and see the world curve.  The thing that I will remember the most is the times it allowed me to spend with my father: " Working on projects around the house.  Working on cars.  Buying tools and returning broken tools.  "  Eddie Lampert the current CEO will step do...

SQL Server GPT Disk Partition Alignment Best Practices

Image
SQL Server GPT Disk Partition Alignment Best Practices 'The performance question here is not did we pick the correct allocation (unit size of the NTFS default of 4,096 bytes or has it been explicitly defined at 64 KB, which is a best practice for SQL Server), but do we have our disk partition alignment correct with every number ending in a whole complete integer .' Partition_StartingOffset ÷ Allocation_Unit_Size  -- should be a whole complete integer Example: Let's  look at Computer Management > Storage > Disk Management Here we will look at GPT Disk 3 which is 4.5TB presented from a SAN and labeled as the "V" drive Now we will open command prompt as an Administrator and run the following " fsutil fsinfo ntfsinfo v:  "  were we update the drive letter as needed Here we look at the Allocation Unit or  "Bytes per Cluster" and see we have 64KB or (65536 bytes) Finally we will use the following as it provides more detailed r...

SQL Monitoring for Blocking and Locking Capture and Log to table with sp_WhoIsActive or sp_BlitzWho

Image
You can use  sp_WhoIsActive or sp_BlitzWho and log the capture data to a table.   In my example I will use sp_whoisactive as I am more familiar with its use and data collection, however I will look at creating a future post using BlitzWho.  I will provide a few examples that were used to determine that the paid SQL monitoring products can be fancy tools but can be useless if you don't understand the basic concepts or even an understanding of how we capture similar data or in some cases more finely tuned to a specific scenario or use case.  Sometimes these paid solutions are incorrect or things can simply go wrong (Services Fail to start or the data is aggregated and misses something like the query commands and SQL Fragments) and it's always good to plan ahead and be prepared.   Sp_WhoIsActive is a procedure written by Adam Machanic. It can be found here:  sp_whoisactive downloads Sp_BlitzWho is a procedure written by the Brent Ozar team....

VSTS/Azure DevOps - Outage day 2 - 10/04/2018 October 04, 2018

Image
Today October 4rd 2018 at around 1:02pm central time VSTS/Azure DevOps services were disrupted again in the South Central Region for the second day in a row.  Some services started to come back online within 45 minutes.  Consistency is key! These are helpful links when looking for downtime: Service Blog – Azure DevOps https://blogs.msdn.microsoft.com/vsoservice/ Azure DevOps home page https://azure.microsoft.com/en-us/support/devops/?nav=min Twitter @AzureDevOps Verified account https://twitter.com/AzureDevOps Azure Services status dashboard https://azure.microsoft.com/en-us/status/

SQL Server General Index Naming Convention

SQL Server General Index Naming Convention  easy to follow:  PK_ for primary keys PK_  Primary Keys, which are logical constructs and not necessarily physical constructs, get tagged with a PK_ prefix. In most systems that I design the PK_ isn’t a clustered index.  IX_ for non clustered non unique indexes IX_  standard single or even multi-column indexes used for seeks or intersection just get prefixed with an IX_ (for  I nde X ). In cases where I need a composite index (i.e., multiple columns) but still explicitly ‘tolerate’ key/bookmark lookups, I’ll still call my seek/intersection/composite indexes IXes. UK_ for unique keys UK_  for unique key index UX_ for unique indexes UX_  for unique index. CLIX_ for Clustered Index (non PK) CLIX_  (non-PK) Clustered Index name is prefixed with CLIX (for  CL ustered  I nde X ) Additionally, I like to code all Create Indexes in SQL 2012 and above with an if not ...

GEARWRENCH Win A Camaro Challenge Top 5 Fastest Times

Image
On June 13th in Lincoln Nebraska I was fortunate to be able to participate in the GearWrench Win A Camaro Challenge which ran from April 3 - August 31, 2018.   It truly was a once-in-a-lifetime experience and I am thankful my wife Amy provided me with the information so that I could attend.  The challenge was a opportunity for everyday people and tool users to have a taste of the excitement that comes with working on a NASCAR crew, and it's incredible to see and feel that in person with a Top 5 finish time of 11.687 seconds. This challenge traveled across the USA to more than 50+ locations with 3,000 participants.  The Finale, held at the Las Vegas race on September 16, 2018, concluded with the top 3  fastest challengers competing once more for a chance to win the custom 2018 GearWrench customized Chevy Camaro! While I was in the top 3 for a few weeks, I ultimately ended in the Top 5 and have some really neat GearWrench gear.

VSTS/Azure DevOps Status DashBoard URL down pages and blog - Outage 10/03/2018

VSTS/Azure DevOps Status DashBoard URL down pages and blog - Outage 10/03/2018 No more than 30 days ago severe lightning storm in the San Antonio area on September 4th 2018 not only disrupted the power to Microsoft Azure’s data center in the region, it knocked the cooling systems offline, damaging “a significant amount” of equipment. Microsoft Azure’s South Central US data center region was down for quite a while and  the company has now released details explaining to customers what happened . The issues affected anyone with workloads in that data center, as well as customers around the world who were using Active Directory and Visual Studio Team Services (Now Azure DevOps) ,  for more than 24 hours before they were completely resolved . Today October 3rd 2018 at around 12:23pm central time VSTS/Azure DevOps services were disrupted again in the South Central Region.  Some services started to come back online within an hour only to have another issue wi...

Trace Flag 8048 SQL Server 2012 prior to SP and Trace Flag 3449 after SP4

If you were using SQL Trace Flag 8048 and are now on SQL 2012 SP4 you don't technically need to be using this trace flag any more.  You can also enable SQL Trace Flag 3449. If you enable global Trace Flag 3449 (and you are on SQL Server 2012 SP4 or later or SQL Server 2014 SP2 or later), you will get much better performance by avoiding a FlushCache call in a number of different scenarios. Global Trace Flag 3449 takes effect immediately, with no restart required. You can set TF 3449 as a startup trace flag or in an Agent job using the following syntax:  DBCC TRACEON (3449, -1) Some of the main use case for Trace Flag 8048 in SQL Server 2012  as stated by CSS SQL Server Engineers : Backup Database Backup LOG Create Database Add file to Database Restore LOG (2 flushcache per restore log without recovery) Recover Database Shrink Database File SQL Server ‘graceful’ Shutdown SQL Trace Flag 8048 was first implemen...

Guess who's turning 25. SQL Server is celebrating 25 years

Guess who's turning 25.  SQL Server is celebrating 25 years since first shipped on the Windows Operating System with Windows NT in 1993.   You can read more about it here in this post authored by Amit Banerjee, Principal PM Manager, SQL Server and Bob Ward, Principal Architect, Microsoft SQL Server Data Services.  Other fun things 1 2 3 declare @greetings varchar (100) SET @greetings= 'Happy 25th Birthday SQL Server' SELECT @greetings and another but it's just a Print statement: 1 PRINT 'Happy 25th Birthday SQL Server';