Brian Kelley

Brian Kelley is an author, columnist, and Microsoft SQL Server MVP focusing primarily on SQL Server security. He is a contributing author for How to Cheat at Securing SQL Server 2005 (Syngress), Professional SQL Server 2008 Administration (Wrox), and Introduction to SQL Server (Texas Publishing). Brian currently serves as an infrastructure and security architect. He has also served as a senior Microsoft SQL Server DBA, database architect, developer, and incident response team lead.
  • Interests: Chess, Reading, Soccer (Football), Baseball, Animals, Theology

SQLServerCentral Article

SQL Server 2005 Logins

Security was a major focus of SQL Server 2005 during its development, both in terms of making the product secure as well as enhancing the options. Security expert Brian Kelley brings us a look at how the paradigm of logins has changed and what you need to look for in SQL Server 2005.

(32)

You rated this post out of 5. Change rating

2008-04-11 (first published: )

118,221 reads

SQLServerCentral Article

Getting the Most Out of SQL Server 2000's Query Analyzer, Part III

In this article, Brian Kelley continues his series on Query Analyzer for SQL Server 2000. Query Analyzer offers a highly configurable integrated development environment (IDE). Some of the areas Brian looks at are how to modify the fonts and colors, set connection settings, choose scripting options, and customizing file and result set options. Learn how to make the most of the IDE and make it work for you.

(1)

You rated this post out of 5. Change rating

2007-11-01 (first published: )

38,991 reads

SQLServerCentral Article

Getting the Most Out of SQL Server 2000's Query Analyzer, Part II

Brian Kelley continues his series on getting the most out of SQL Server 2000's Query Analyzer. In this article he looks at the Object Browser and the Transact-SQL Debugger, new features in the 2000 Edition which can reduce development and troubleshooting time for DBAs and database developers.

(1)

You rated this post out of 5. Change rating

2007-10-03 (first published: )

40,166 reads

SQLServerCentral Article

Auditing with SQL Profiler

SQL Server includes a great auditing tool: Profiler. It's not the easiest tool to use, however, and it's one that takes some getting used to. Our resident security export, Brian Kelley looks at a simple example of using this tool to audit logins.

(2)

You rated this post out of 5. Change rating

2007-10-02 (first published: )

35,412 reads

SQLServerCentral Article

SQL Server Auditing - Part 1

Our SQL Server Security expert, Brian Kelley, brings us the first part of a new series on auditing. Most of the auditing articles we've had are based on how you audit changes to data. Brian looks at auditing from the server itself, explaining the different levels of auditing built into SQL Server 2000.

(3)

You rated this post out of 5. Change rating

2007-10-02 (first published: )

39,495 reads

SQLServerCentral Article

Implementing Encrypting File System (EFS) with SQL Server

EFS provides a mechanism for encrypting files completely transparent to higher level applications such as SQL Server. In this article by Brian Kelley, he shows you how to implement this type of security in your environment.

(5)

You rated this post out of 5. Change rating

2007-09-22 (first published: )

32,452 reads

SQLServerCentral Article

SQL Server 2000 SP 3: What's New in Security

Service Pack 3 for SQL Server 2000 is huge. There are significant changes in it and they apply to all three products: the core SQL Server, MSDE, and Analysis Services. Because there are so many changes, this first article in the series will only focus on the security changes.

You rated this post out of 5. Change rating

2007-09-22 (first published: )

30,115 reads

SQLServerCentral Article

Citrix MetaFrame, SQL Server, and the DBA

In this article, Brian looks at how Citrix MetaFrame can use SQL Server for its internal data repository. The basic operation of SQL Server in a Citrix MetaFrame installation is covered. In addition, Brian looks at how a DBA is an integral part of the support team for a successful Citrix MetaFrame farm.

(1)

You rated this post out of 5. Change rating

2007-03-02 (first published: )

26,775 reads

Blogs

In-Person CISA Training – April 13-16, 2026

By

I will be leading an in-person Certified Information Systems Auditor (CISA) exam prep class...

EightKB 2026

By

EightKB is back again for 2026! The biggest online SQL Server internals conference is...

The FinOps Lifecycle: From Budgeting to Reporting

By

Working in DevOps long enough teaches you two universal truths: That’s exactly why I...

Read the latest Blogs

Forums

Fun with JSON II

By Steve Jones - SSC Editor

Comments posted to this topic are about the item Fun with JSON II

Changing Data Types

By Steve Jones - SSC Editor

Comments posted to this topic are about the item Changing Data Types

Answering Questions On Dropped Columns

By Cláudio Silva

Comments posted to this topic are about the item Answering Questions On Dropped Columns

Visit the forum

Question of the Day

Fun with JSON II

I have some data in a table:

CREATE TABLE #test_data
(
    id INT PRIMARY KEY,
    name VARCHAR(100),
    birth_date DATE
);

-- Step 2: Insert rows  
INSERT INTO #test_data
VALUES
(1, 'Olivia', '2025-01-05'),
(2, 'Emma', '2025-03-02'),
(3, 'Liam', '2025-11-15'),
(4, 'Noah', '2025-12-22');
If I run this query, how many rows are returned?
SELECT t1.[key] AS row,
       t2.*
FROM OPENJSON(
     (
         SELECT t.* FROM #test_data AS t FOR JSON PATH
     )
             ) t1
    CROSS APPLY OPENJSON(t1.value) t2;

See possible answers