Jay's Blog

[coding, debugging, and troubleshooting with Microsoft Technologies]

Blog - About

About Jay's Blog

I am a Premier Field Engineer (PFE) working with Independent Software Vendors (ISVs) that develop solutions using Microsoft Technologies.  This affords me the opportunity to travel to many different places to work with customers that are doing a lot of interesting things with Microsoft Software.  When onsite, I am working with customers to help resolve performance issues or to find better ways to implement solutions using Microsoft products.  I also deliver onsite classes or customized training for development customers.  Most of my time is spent with software development, SQL Server, and Windows Azure.  I've been in the IT Industry for 17 years with most of that focused on database support and development.   This blog draws on my experiences "in the field" as a Microsoft PFE.

  • Jay's Blog

    Orphaned Locks - Idle Session - and XACT_ABORT

    • 0 Comments
    Sometimes you might see a situation where a session is holding locks, blocking other sessions for an extended period of time, but does not have an active request and appears to be Idle.  This can happen in a few different scenarios, but here we’ll...
  • Jay's Blog

    Sequence Objects in SQL 2012 and SQL 2008

    • 0 Comments
      Sequence Objects are new starting in SQL Server 2012.  They work similarly to an IDENTITY value, but where the IDENTITY value is scoped to a specific column in a specific table, the Sequence Object is scoped to the entire database and controlled...
  • Jay's Blog

    If a worker thread doesn’t yield, is it guaranteed to run?

    • 0 Comments
    Put another way, can Windows preempt our worker thread and perform a context switch even though it has been “scheduled” by the SQL OS (SOS) and SQL thinks it is running? Of course it can. SQL Server implements a cooperative scheduling mechanism to make...
  • Jay's Blog

    Do waiting or suspended tasks tie up a worker thread?

    • 0 Comments
    I had a discussion the other day with someone about worker threads and their relation to tasks. I thought a quick demo might be worthwhile. When we have tasks that are waiting on a resource (whether it be a timer or a resource like a lock) we are tying...
  • Jay's Blog

    Finding Missing Dependencies

    • 1 Comments
      While working with a customer on a SQL port, I came across a system view that was new with SQL Server 2008.  Have you ever needed to check your database code (stored procedures) to see if it references any missing objects?  As of SQL...
  • Jay's Blog

    Loading data with foreign keys

    • 2 Comments
      Working on a customer project the other day, I needed to load some data into a database that had been scripted and re-created.  The newly created database already had foreign keys in place which means for loading data (this was from SSIS)...
  • Jay's Blog

    Need to find the Database Version? Last Log Backup? Last DBCC execution? Ummm….

    • 0 Comments
    Backup software and Maintenance plans usually take care of tracking backup schedules and maintenance schedules for us… but how else do we find this information inside SQL Server?  The following query will get the last backup date and time from MSDB...
  • Jay's Blog

    Default Trace and System Health

    • 1 Comments
    So it’s been a little while since my last posting – actually a long while.  Since my last post some 8 months ago I’ve changed customers in my role as a PFE here at Microsoft and that has had me quite busy. I have a couple of posts I wanted to write...
  • Jay's Blog

    How can I get a list of installed SQL Server instances?

    • 7 Comments
    Today we’ll talk about how we can get a list of locally installed SQL Server instances on a system.   This information is stored in the registry at the following location: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names...
  • Jay's Blog

    Searching through the SQL Server Errorlogs

    • 0 Comments
    Sorry – It’s been a while since my last post.  The past few months have been very busy for me.  The other day, I had a brief discussion with a colleague on ways to search through all of the error logs in SQL Server.  Obviously there are...
  • Jay's Blog

    Have you checked out Denali? CTP 3 is here…

    • 0 Comments
    Did you know that CTP3 for ‘Denali’ or SQL Server Version 11 is out?  You can download it for free and play with it here: Microsoft® SQL Server® code-named 'Denali' - Community Technology Preview 3 (CTP3)  (Build:  11.00.1440.19) https...
  • Jay's Blog

    Troubleshooting Slow Disk I/O in SQL Server

    • 5 Comments
    If you suspect you are experiencing poor disk performance you can use internal DMVs combined with a Performance Monitor collection to get a good picture of the health of the disk I/O subsystem and any latency SQL Server is experiencing from its poor performance...
  • Jay's Blog

    Using Windows 2008 R2 as a workstation (and a lab)

    • 5 Comments
    Lately there seems to be an increasing number of people that want to run Windows 2008 R2 Server as their primary OS on their laptop or desktop systems as opposed to Windows Vista or Windows 7.  I’ve been doing this for some time now, and I thought...
  • Jay's Blog

    Proper I/O Capacity Planning and Configuration Resources for SQL Server

    • 1 Comments
    To understand and perform proper IO Capacity Planning for SQL Server, you must understand the IO characteristics and data access patterns of the workload that will be sent to the SQL Server.   Unless you are using a vendor or 3rd party product...
  • Jay's Blog

    Why is using “Instant File Initialization” on my SQL Server a potential security issue?

    • 0 Comments
    Starting in SQL Server 2005 and onward, data files can be “instantly” initialized.  This helps to drastically reduce the amount of time required for creating large databases, adding files to an existing database, increasing the size of an existing...
  • Jay's Blog

    Required rights for SQL Server service account

    • 1 Comments
    This topic comes up from time to time in my daily support work, so I thought I would make a quick post on the rights required if you do not want the SQL Server service account to be a member of the Local Administrators group on Windows. Having the SQL...
  • Jay's Blog

    Finding which queries were executing from a SQL Memory Dump – revisited

    • 8 Comments
    A message about the previous post on finding queries in a SQL Memory Dump file: Back in October I did a post on finding queries in SQL Server Memory Dumps.  It has been a popular topic, but some have had difficulties following it.  After reviewing...
  • Jay's Blog

    Uninstalling a SQL Server Service Pack

    • 2 Comments
    Did you know that starting with service packs (Service Pack 1) in SQL Server 2008 you can uninstall them from Add/Remove Programs like any other update? But as always, backup both your user and system databases before applying any update, hot fix, cumulative...
  • Jay's Blog

    Using DBCC PAGE

    • 0 Comments
    DBCC PAGE is an undocumented – and unsupported – DBCC statement in SQL Server for dumping the raw contents of a single database page.   It will return all the metadata stored in the page, and with the right detail level parameter – return the...
  • Jay's Blog

    How does SQL Server perform deletes in my table?

    • 4 Comments
    In this post we’ll look at how SQL Server deletes records in a table.  In this example, we’ll be using a clustered index.  For performance, SQL Server does not actually delete a row of data when requested by a transaction.  By not incurring...
  • Jay's Blog

    Why do we need trace flag 3604 for DBCC statements?

    • 0 Comments
    For many DBCC statements, we need to enable trace flag 3604 before executing the DBCC command.  This is done via: DBCC TRACEON(3604) GO But why do we need this?  Some DBCC commands are designed to send the output to the log, attached debugger...
  • Jay's Blog

    What is a slot array?

    • 0 Comments
    What is a slot array?  Though it sounds like a line of gambling machines at the nearest casino, the slot array in SQL Server serves a crucial role in record management on a page.  A database page (and all other page types) in SQL Server is 8KB...
  • Jay's Blog

    How do I find what queries were executing in a SQL memory dump?

    • 8 Comments
    NOTE:  This post has been updated in a new post due to an issue found with the steps in this post.  The procedure is the same, but the steps here may only work with 32 bit dumps.  Please read the post located at the address below: http...
  • Jay's Blog

    Catching who dropped SQL Server logins

    • 1 Comments
    I recently had a situation where SQL server logins were getting deleted from the system and nobody could figure out why or by whom.   So in this post, we present a few ways to catch this. First, if you are using SQL Server 2008, the easiest...
  • Jay's Blog

    The parameters of xp_readerrorlog

    • 2 Comments
      I find that few people know xp_readerrorlog accepts parameters to help you mine information out of the SQL Error log (as well as the SQL Agent error log).  The SQL Error log has a wealth of information.   In this post, we’ll look...
Page 1 of 2 (36 items) 12