• Skip to main content
  • Skip to primary sidebar

DallasDBAs.com

SQL Server Database Consulting

  • Services
  • Pocket DBA®
  • Blog
  • Testimonials
  • Contact
  • About

Kevin3NF

Dallas DBAs now has a LinkedIn Page

July 10, 2017 by Kevin3NF Leave a Comment

We’ve created a LinkedIn page for short announcements and “quick hit” postings that don’t really fit in well with the nature of our longer blog posts.  Please ‘follow’ us there so you don’t miss out on training announcements, sudden availability, etc.

Dallas DBAs on LinkedIn

Thanks!

Kevin3NF

 

Filed Under: Uncategorized

Greatest Moment of my Twitter Life

July 10, 2017 by Kevin3NF Leave a Comment

If you don’t know who Brent Ozar (b|t) is, this will mean nothing to you 🙂

I can retire now 😉

Kevin3NF

 

Filed Under: SQL

Thoughts from a New Speaker

June 19, 2017 by Kevin3NF Leave a Comment

Sunday afternoon…enjoying the “Post SQL Saturday” calm…

SQL Saturday Houston was yesterday, which in and of itself is not that unusual for me.   I’ve been to many technical conferences over the last 18 years…4 SQL Saturdays, 2 PASS Summits, SQL Server launch events, TechNet stuff back in the late 90’s and more user group meetings than I can count.

This particular event was the first time I ever went as a speaker.   Its technically the first time I’ve ever spoken to a technical audience.   12 years ago I did a demo of some Red Gate tools, but that was a short ad-hoc thing.  I’ve taught a few training classes in the workplace and am currently doing a 5 week fundamentals class now.  Small, interactive and very different than yesterday.

Wisdom for first time speakers can be found all over.   Blogs, Twitter, and there is even a Slack channel for it in the SQL Community slack. Almost all of that says to start small, like at work or at the local user group.  Practice and rehearse, until your dog and kids know your topic inside and out. Never type in a demo, etc.

I prepared a slide deck and pretty much winged it…which is what I do best.  If I rehearse things I get nervous and wind up second guessing myself.  I skipped the local user group part and went straight for  SQL Saturday.  I applied to speak at Houston (DR/Backups) and Chattanooga (Security) hoping to get a nibble on one.  Much to my surprise I was accepted to both.  Apparently the desire for beginner/fundamental topics is significant.  The attention some of my fundamental blog posts gets tends to support this.

My session went really well (in my opinion), with the only technical issue being a projector that overheated and had to cool for a few minutes. As a joke I broke out my backup laptop claiming to have been half-prepared.

I was a bit nervous the day before, but when I got to the event site and into the Speakers/Sponsor/Volunteer room, all that went away.  I almost had a last minute switch of session times with Bob Ward, as he was running a little late.  But, he got there with a few minutes to spare.

One of the best prep things I did was go to Brent Ozar’s (b|t)performance tuning pre-conference on Friday.  I went as much to watch presentation style as for the knowledge being shared.  Brent is a great presenter.  I also really enjoy anything Pinal Dave (b|t)has to say, mostly due to the excitement and passion he delivers it with.  Pinal could make a snail race exciting.

The San Jacinto Junior College facility was fantastic with clean rooms, stable WiFi, etc.  Everything there looks new.  The local SQL Saturday team had all the bases covered.  Allen (t), Devon (t), Sarah and the rest made for a fantastic day.

I’m looking forward to Chattanooga next weekend, and who knows where beyond that.   If you are interested is presenting, don’t let anything stop you from responding to a call for speakers.  Applying is half the battle 🙂

Thanks for reading,

Kevin3NF

 

 

 

Filed Under: Career, Speaking, SQLSaturday

SQL Saturday Houston 2017

June 13, 2017 by Kevin3NF Leave a Comment

I will be presenting my session “Backups for non-DBAs….the Why, not the How” at SQL Saturday Houston on June 17, 11am.

This is mostly targeted at non-DBAs such as owners, managers, CxOs, developers and sysadmins…but all are more than welcome.

We will be discussing various scenarios to consider as part of an overall DR/Business Continuity plan, as well as sharing a few horror stories from the field…both ancient and current.

The session abstract:

Join me and get some new perspective on what your DBA is doing, and why!

Targeted at the non-DBA such as BI/DW folks, Application Developers, Managers, and System Admins, this session will go over the reasons we back up our databases, our systems, etc. Considerations such as Single points of failure, High Availability/Disaster recovery, Business Continuity and others will be discussed in this interactive conversation. It will be conversation heavy, with supporting slides to download, and one Database backup demo at the end if time permits.

Everyone involved in a technical role needs to at least know that the things they have created will be recoverable in the event of a disaster, or even just an “oops” moment. The CIO/CTO should know how long critical systems will be down when bad things happen. Backups are everyone’s responsibility…whether asking the right questions or implementing the process.

I look forward to seeing you there!

Kevin3NF

 

Filed Under: backup, Career, HADR, Restore, SQLSaturday

Database Delete vs. Detach vs. Offline

May 31, 2017 by Kevin3NF Leave a Comment

If you haven’t been asked to Delete a database in your DBA career…its just a matter of time:

“We don’t need database XYZ anymore…delete it.” — Some well meaning manager

Stop right now, before blindly following an order like that.

First…there are some questions to ask:

  • What environment is this? (Prod, Dev, etc.)
  • Are you sure we don’t need it?
  • Has anyone verified that?
  • When was it last used?
  • Did something replace it?
  • Is it backed up?

As a DBA, any time anyone asks you to delete anything, from data to an entire database, you need to question it.  Not doing so can be a CLM/RGE combo!  (Career Limiting Move/Resumé Generating Event)

The request may be perfectly valid, but in my experience most people that ask for a database to be deleted use the term to mean “I don’t want to see that database in SSMS anymore” or “I don’t want it on Server A, put it on Server B”, with very little regard for impact to other teams or applications.

There are three main ways to take a database “out of service”:

  • Take it Offline
  • Detach it
  • Delete it

Each has its own considerations and each is the proper choice in different circumstances.  I am going to walk you through each one, from least risky to most, in that order.

Offline:

Takes the database offline, but still visible in SSMS.  Cannot be accessed by applications, backups, etc.   Can be brought back online relatively quickly.

My list of databases before starting this post…we’ll be messing with the Rename2222 database (nothing in it…came from a rename script I was writing/testing):

Right-click the database in question, Tasks, Offline:

 

Dialog Box you get after clicking “Take Offline”:

Note 1: You do not get the below dialog in SSMS 2014 (and possibly earlier)…this was done using SSMS 2016.
Note 2:  If you click the Script button, it will take the database offline in SSMS2016, instead of generating a script.  I’m told this is resolved in SSMS 2017.

 

Results in SSMS after Offline Operation:

Upside to Offline method: Database is still in place,  visible in SSMS, Record in master database is still there, relatively simple.

Downside to Offline: May cause SQL Monitoring tools to throw alerts and create tickets, files are not in use by SQL Server, can be deleted.

Detach:

Removes the database from SSMS, deletes its meta information in the master database, but leaves the physical files intact on the drive.

The detach menu:

The detach dialog:

Choose “drop connections” here…if not, the detach may fail.  Or, leave it unchecked as a test to see if anyone is using it

After Detaching:

Note that the MDF/LDF files are still right where they were.  SQL Server no longer has a handle on them:

You can re-attach fairly quickly should the need arise (i.e. user comes screaming at you 5 minutes after the detach):

Right-click “Databases”, select Attach

 

Click ‘Add’ and browse for the .MDF file….should find and include the .LDF file on its own

 

Click ‘OK’ to attach

Upside to Detach method: Files are still in place, re-attach is fairly straightforward, Monitoring tools will generally not error. Can save your job by not having deleted a database someone else needed.

Downside to Detach: Files not manually deleted take up disk space…set reminders to delete after some time period.

Delete:

Drops the database, its meta data in Master, AND its associated physical files…you cannot reverse a Delete (DROP Database).

This is one of those “Stop right here” moments.  Before you Delete a database, make very sure you are following protocols.   Make sure you have a recent FULL backup:

 

If not, run one.  The simplest possible command to backup a database:

 -- backs up to default location

Backup Database Rename2222 
To Disk = 'Rename2222.bak'

Better:

-- backs up to specified location 
-- with date included in the file name:

Backup Database Rename2222 
To Disk = 'c:\MyBackups\Rename2222_20170531.bak' 

Once you have a backup, you also should get a ticket, change control, or at the very minimum an email from the requester with approval for the delete.  Depends on your process.   Especially important if this is a production environment.   This can save your job.  If you Delete a database that a system depends on and cause an outage…whoever told you to do may claim they were not involved.

To delete is way too simple:

Deleting backup/restore history is up to you.  Drop all connections to force everyone out.  
If anyone is connected, should you be deleting?

Remember…once you Delete a database…its gone.   The ONLY ‘undo’ is to restore from Backup.   You can call Microsoft, but they will tell you the same thing.  Worst case, you can spend tens of thousands of dollars on a data recovery service, assuming you can take the server down and nothing overwrote the space the the files were in on the drives.

EDIT: If you take a database into “Offline” state, then delete it – the physical files will still be on the drive. Not sure if this is accurate in ALL SQL Server versions, so detach first.

Wrap up:

Almost everywhere I’ve worked, Detach with a 2-4 week follow up to delete the files was the best choice.   But beware that some systems may only be useful for Quarterly or Annual reporting.  In an ideal situation, you have a complete inventory of every database on every server from Production down to Dev and know exactly why they are there, as well as who the stakeholders are for each one.  If you don’t have this for the O/S, SQL and DB level info, start now.

Thanks for reading!

Kevin3NF

My Pluralsight course for new DBAs

Follow @Dallas_DBAs

Filed Under: Accidental DBA, backup, Beginner, EntryLevel

SQL DBA Fundamentals training, Day 2

May 27, 2017 by Kevin3NF Leave a Comment

Day 1 of the free DBA fundamentals was a huge success!!  Thanks to all that came out.

Day 2 (June 7) registration goes live at noon on Saturday, May 27 (still free):

RSVP here

This is an in-person class…not online and not recorded.  We are not that fancy yet…

We will be covering the following:

  • SQL Server Security model (in plain English)
  • A guided tour of SQL Server Management studio

You do not need to bring a laptop, but if you have one with SQL Server and SSMS installed to follow along, please feel free to bring it.

You do need to be registered to attend…we completely filled our space last Wednesday, with no room for walk-ins.  Please do not just show up and make me have you stand in the corner 🙁

There will be a waitlist when the tickets are gone.

If you came to Day 1 and sent me a request, you are already registered for Day 2.

Thanks, and see you there on June 7!

Kevin3NF (follow me on Twitter…its your homework!)

Filed Under: Accidental DBA, Beginner, Career, EntryLevel, SQL

  • « Go to Previous Page
  • Go to page 1
  • Interim pages omitted …
  • Go to page 28
  • Go to page 29
  • Go to page 30
  • Go to page 31
  • Go to page 32
  • Interim pages omitted …
  • Go to page 44
  • Go to Next Page »

Primary Sidebar

Search

Sign up for blogs, DBA availability and more!

Home Blog About Privacy Policy
  • Home-draft
  • Blog
  • About Us

Copyright © 2026 · WordPress · Log in

 

Loading Comments...