• AI - Cloud - Database - devops - Google Cloud - Linux - Microsoft - Oracle - Postgres - sql - SQLServer - Tech Rants - Thought Leadership

    Designing for Multi-Platform Databases: A SME’s Perspective

    When building products that interact with multiple database platforms, the complexity can be both a challenge and an opportunity.  For Subject Matter Experts (SMEs), observing design decisions made without sufficient knowledge of underlying database architecture can be particularly frustrating. These moments highlight the critical need for architectural foresight and platform-specific expertise to avoid pitfalls that compromise scalability, performance, and maintainability. I’ve been managing multiple platforms for a couple decades and in recent years, building products that support the most popular enterprise and open-source databases today.  I’m keenly aware of lacking documentation, either due to limited resources or hopes of directing…

  • Azure - Cloud - Database - Oracle - SQLServer

    Azure IO Performance for the RDBMS DBA- Part I

    With my upcoming session on “Migrating Oracle Workloads to Azure IaaS” this week at PASS Virtual Summit 2020, I wanted to take some time to dig deeper onto the performance side. The last thing you want to have happen is to migrate your database to the cloud and have it just screech to a halt. The truth is, its often a combination of database and infrastructure issues that are the cause.  Although many of you may want me to dig into database performance data, I’m actually going to first focus on infrastructure, as it’s the area that most aren’t privy…

  • Microsoft - SQLServer

    How Not to Perform a Difficult Update in SQL Server/Azure

    I learned a long time ago, that the quickest way to do something was to not do it at all. A friend of mine asked me if I could review an update statement that was confounding their group looking for ways to optimize it. The table has, just short of 50 columns, a considerable number of indexes and the column in question, has a datatype set to NVarChar(8), consists of some numbers, combinations of letters and numbers, etc. The process would take 7 ½ hours to run this update, as it parses through 100K rows at a time. There is…

  • big data - DBA Life - Delphix - Oracle - SQLServer

    Time for #GLOC, #SQLSatDallas, #DataSummit18

    The next nine days, I’m traveling to three cities for four events. We’ll just call this the 9-3-4 gauntlet of speaker life. I booked this travel as four, one-way flights to get the itinerary I needed to make the most of my schedule and will have breaks between each event to make sure I don’t kill myself my last two weeks at Delphix. GLOC Today I’m heading to the Great Lakes Oracle Conference, (https://gloc.neooug.org/) where I get to present on DevOps and hang out with all my Oracle peeps. GLOC is the second largest regional Oracle user group event and…

  • Cloud - Data Masking - Oracle - SQLServer

    GDPR Solutions in the Day of Automation

    There’s something for having job security and many of the solutions that I see offered for RDBMS challenges offer just that. With compliance with EU’s GDPR, (General Data Protection Regulations) just around the corner, (mark you calendar, May 25, 2018) you’d think we’d all be scrambling for a simpler solution to discovering and addressing all that GDPR data. Quick refresher for those of you going, “What is GDPR?” Data security is a known focus of GDPR when you talk to folks, but it’s much more than just security.  It’s about extended rights of the individual in the EU. There’s four…

  • docker - Linux

    Docker and Windows 10 1709 Patch, The End

    So if you read my last post on my challenges with Docker containers running on Windows 10 after the 1709 patch, I thought I was close to solving it once I was granted the admin password to disable and uninstall Sophos Endpoint. Once I uninstalled Sophos, I noted I ended up with a different line number error.  The question was, has the problem shifted from Sophos to a new issue or is it more complex than just the one application?  We’d already seen that it was complicated, including the Hyper-V with the 1709 patch that was part of the problem.…

  • Linux - SQLServer

    Linux for the SQL Server DBA, Part III

    Yes, there’s a Part III! You’re going to have to start scripting and now that you know a few VI/VIM commands, lets talk beginning scripting with shell. In our example below, we’re going to start a new project called “test”.  For this, the requirements are: create a new folder off of the /u01/scripts directory create a new file called test.sh inside the testdir directory ensure it uses bash as our chosen shell # cd /u01/scripts # mkdir testdir # cd testdir # touch test.sh # ls test.sh # pwd /u01/scripts/testdir As you can see, I’ve now fulfilled the first two…

  • Linux - SQLServer

    Why SQL Server Shouldn’t Run as Root on Linux

    So more than one person contacted me about my last post and stated that they didn’t see a problem with SQL Server on Linux running as the root user. Me: Although enhancements have changed Windows installations for applications to run with a unique user, I created a mssql OS user even back on SQL Server 2000 on Windows as I had a tendency to use similar security practices for all database platforms as a multi-platform DBA.  With that being said-  yes, it introduced complexity, but it was for a reason: users should be restricted to the least amount of privileges…

  • Linux - Oracle - SQLServer

    Linux 101 for SQL Server DBAs, Part II

    Linux has become a clear area of required learning for SQL Server DBAs in as of SQL Server 2016.  What?  You didn’t read that right, you say?  Yes, while a Linux edition was introduced in SQL Server 2016, it was pushed to the forefront with the release of 2017, along with Python in a push towards stronger DevOps initiatives, (one OS to rule them all!) and Python to assist with even stronger analytics trends. As most database platforms already run on Linux, the SQL Server community has a bit of catch up to do, so as many advanced DBA linux…

  • DBA Life - Oracle - SQLServer

    GDPR ‘Murica!

    Just over a year ago, an alarm of emails, posts and projects arose in Europe surrounding the General Data Protection Regulation, also known with the acronym, GDPR.  It was as if someone had poked the sleeping bear of IT and woke it and boy, was it grumpy. Suddenly EU technologists were learning all about advanced system security, how to encrypt and mask data, multi-tier authentication, along with creating procedures when a user requested to be forgotten.  Projects and money were being allocated to take on this demand that considering its initiative was passed back in 2014, you’d think would have…

  • Azure - SQLServer

    Pass Marathon on Linux for SQL Server, Wednesday, Dec. 13th

    Tomorrow Pass is sponsoring a Linux Marathon for all the SQL DBAs getting ready to go big with Linux. The schedule is jam packed with sessions on getting started with Linux, working with SQL Server on Linux and then a few sessions, including my own for essential tools that the DBA needs to work with Linux.  I’m the last one on the schedule for the day, to be followed by me heading down to the south side of town for the monthly, (and very Christmas-y) SQL Server User Group meeting. If you aren’t a member of the PASS organization, it…

  • Azure - SQLServer

    SQL Server 2017 on Linux- Processes

    So while finishing up my slides for the Microsoft Pass Linux Marathon webinar on Dec. 13th, Tim and I started to discuss the apples vs. oranges comparison of SQL Server on Linux process management vs. an Oracle instance. We discussed the differences one might expect to see using different tools with the two database platforms and the first question surrounded information pmap would provide.  We commonly use pmap to map out processes, including child and sub-processes of a particular PID.   As my current images have multiple database platforms on each of them,  I quickly spun up a Docker image of…

  • Azure - SQLServer

    Database Scoped Configurations

    As most of you know, I’m working to update all of my SQL Server knowledge, which hasn’t gone as deep as I would like since SQL Server 2012. So there are a couple things we’re going to focus on today, first of which is the top in the list which I’ve highlighted, Legacy Cardinality Estimation: By default, this value is turned off and as the optimizer is essential to database performance and in each database platform, handled differently, it’s worth starting to disect.  The Database Scoped Configuration settings, which are database specific, and can be accessed via the SSMS, right…

  • Azure - SQLServer

    Considerations When Using SQL Server 2016 Dynamic Data Masking

    SQL Server 2016 introduced a new security feature called Dynamic Data Masking.  With the General Data Protection Regulations, (GDPR) breathing heavy down most IT in America’s neck, its good timing. “Data Masking” is a term that has a strict definition, but different results when we actually discuss the technology behind it.  The main goal is to obfuscate critical data in a non-reversible process and I deem it separate from encryption technology. With SQL Server’s Dynamic Data Masking, the original data is still present in the database, with a masking rule applied to hide the data, allowing anyone with the unmask privilege…

  • DBA Life - Oracle - SQLServer

    Kudos to Pass Summit 2017

    This week I had the opportunity to present at Microsoft’s Pass Summit, which was one of two events I had on my list for this year, (the other was Oracle Open World.) Although I’m still learning about all the events on the Microsoft side, unlike Oracle, where there’s one, massive event in San Francisco each fall, Microsoft has split their annual events into three to focus on each audience. In less than two months, there was MS Ignite in Florida, focused on tomorrow’s technology, IT Dev Connections, geared towards development and then this week, Pass Summit, for the Data Platform…

  • SQLServer

    Pass Summit 2017, 2nd Day, Thursday

    Thursday started out calm, self-assured that I knew where I needed to be all day and was prepared.  I tweeted happily that I had found a lovely spot to work during the keynote, (day job!) Yeah, this: At the keynote, there was a table with my name on it where I was supposed to be.  Thank you so much to Brent Ozar for letting me know so I could apologize for the miscommunication with the organizers of the blogger table, (which is not the same thing as the blogger meetup-  oops!!) The rest of the day was crazy busy, but…

  • Azure - Linux - SQLServer

    Linux for the SQL Server DBA- Part II

    So we’ve covered a few basics of a Linux host in Part I– The File System Users, groups Basic Commands with basic arguments And file and directory permissions Hopefully, what I share next will build on the first post and enhance your knowledge as you move forward with Linux. Reading the contents of a directory, gathering information on files and locating files are some of the most common tasks a DBA will perform as they work on a server.  Many of the following commands require you to “pipe” a second command onto the first.  This is done by joining the…

  • Linux - SQLServer

    Linux for the SQL Server DBA- Part I

    For the Oracle DBA, Linux is life.  When I was at Oracle, Linux projects were the easy part of my job, unlike the ones on Windows, AIX, HP-UX and at times, even Solaris.  You knew the Linux ones received the most love from development, had the most time towards patching and received attention if there was a bug. History Linux was introduced in 1991, thanks to Linus Tovalds and has been in active development, with introduction of different “flavors” of the OS over the years.  As many folks know, Linux was carved out of the GNU open license project, which…