I’m Andrew Pruski and I am a SQL Server DBA with 5 years experience in database development and administration.
The online SQL Server community has helped me out immensely throughout my career, whether from providing reference material in blog posts, or answering my (sometimes obscure) questions on forums. So, to try and say thank you, I would like to contribute my own experiences in the hope that they could benefit someone out there.
So here’s my general ramblings and thoughts about working as a SQL Server DBA.
You can find me on twitter @DBAFromTheCold
If you have any feedback on my blog please send me an email to firstname.lastname@example.org.
Following on from my last blog post I now want to run through how to identify large queries using Extended Events.
Extended Events were introduced in SQL Server 2008 and allow monitoring to be run against a server with a lower performance impact than profiler sessions and server side traces. Read more
Who are your worst offenders? By offenders I mean, queries that are consuming the most resources on your server(s).
I know Extended Events have a lower impact but I like server side traces. Not only because once you’ve set one up, setting up others is very simple but also because… Read more
Performance tuning often gets called an art as people feel that a certain knack or innate talent comes into play. And whilst I don’t disagree that a certain level of knowledge is involved, I completely disagree that only certain people can performance tune.
Given the correct approach, anyone should be… Read more
Short blog post this time as Website Pulse contacted me a few weeks ago with a few questions about working as a DBA. They’ve now published the article, it can be found at the following link:-
Let me know if you have any comments or feedback – email@example.com
This post follows on from Partitioning Basics – Part 2
In this final part, I want to go through how partitions can be used to archive data from a table. Firstly a table to archive the data from the primary table needs to be created:-
CREATE TABLE dbo.[DemoPartitionedTable_Archive] (DemoID INT…
This post follows on from the previous post Partitioning Basics – Part 1
Let’s have a look at the partitions setup in part 1, the following script will show the partition information:-
SELECT t.name AS TableName, i.name AS IndexName, p.partition_number, r.value AS BoundaryValue, p.rows FROM sys.tables AS t INNER JOIN…
Partitioned tables can be a quick and efficient way to (amongst other things) archive data. In the next couple of posts I will run through the basics of partitioning. Starting with setting up a partitioned table and loading some data.
Let’s create a demo database:-
USE [master]; GO IF EXISTS(SELECT…
Thought I’d write a quick post about managing error logs within SQL Server. Good error log management is essential for investigating issues that occur in SQL Server. The last thing you want is a very large error log file that takes ages to open when you are trying to determine… Read more
One of the developers that I work with asked me to write a “brief” (really brief) guide on database design. What I have written below is a summary in bullet point form of best practices when creating databases, tables, indexes, and then querying the data within. It is designed to… Read more
The new version of SQL Server will be here on Tuesday.
(Someone at Microsoft has a sense of humour in releasing the newest version of SQL Server on April Fool’s Day.)
At some point the usual argument about when a company should upgrade will be had. I’ve worked companies that… Read more
So you’ve setup a bunch of indexes in your database to tune the queries coming in. They’re all running much faster than before and you’re leaning back in your chair feeling pretty pleased with yourself. You’re done right?
Well…no. As data gets inserted into and deleted from tables within a… Read more
In my previous post I talked about having your own database(s) and what information you could be collecting. One piece of information that you should be collecting is what deadlocks are occurring. There are a few of ways you can collect information on deadlocks, enabling trace flag 1222… Read more
Somewhere to relax, get away from it all (by all I mean pesky Developers wanting code deployed on a bleeding Friday afternoon) and generally unwind. Your worries seem to drift off until there’s a bang on the door…there’s been an issue in Production and you need to investigate. You heave… Read more
I’ve recently helped a company move their infrastructure to a new data centre. Part of this involved shutting down a large number of virtual development application servers. I don’t often shut down servers (maybe an occasional bounce after patching) so I thought about how I wanted to approach it as… Read more
Happy New Year!
Hope you all had a good Xmas, ate too much, drank too much and are still telling yourselves that this year you will stick to your New Year’s resolutions (ha).
I didn’t blog in December because…I moved to Ireland to start a new job. I’ve always wanted… Read more
As a SQL Server DBA it is absolutely vital you regularly take backups of the databases you look after. If something goes wrong, a restore is required and there is no (valid) backup, guess who will get the blame? You really don’t want to be sitting in a meeting with… Read more
There is a wealth of information about SQL Server online. Absolutely hundreds of blogs, white papers, editorials, the list goes on and on. Trying to filter out the really useful, accurate (!) information from the not so useful (or just plain wrong) can be tricky. There are conflicting opinions out… Read more
As my first post, I thought I’d list a few points that I would say to any new DBA. I’ll probably turn each one of these into a post on its own but for now here they are:-
Of all the tasks that you perform, making sure that there… Read more