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

PASS Summit 2004

Our resident SQL Server security expert, Brian Kelley, went with the SQLServerCentral.com crew to the 2004 PASS Summit in Orlando last month. He was kind enough to jot down a few notes on the conference for those of you that weren't there and are considering going next year.

You rated this post out of 5. Change rating

2004-10-12

4,148 reads

SQLServerCentral Article

Review: Typhon III from NGSSoftware

Every shop with any sort of IT organization should be scanning for vulnerabilities and issues with their systems and SQL Server is no exception. Security software vendor has a tool that can scan and report on all your SQL Servers is an easy to use product called Typhon III. Our security expert Brian Kelley takes a look at this product.

You rated this post out of 5. Change rating

2004-10-07

13,912 reads

SQLServerCentral Article

SQL Server Security: Dealing with Anti-Virus Programs

Do you run an anti-virus product on your SQL Servers? After all, it's recommended, more and more, that you run anti-virus on ALL machines you have. There's just too much stuff running around out there. But putting this on a SQL Server creates some interesting issues. Our resident security guru, Brian Kelley, looks at some of the things you need to consider when deploying anti-virus products on your servers.

(4)

You rated this post out of 5. Change rating

2004-05-13

23,837 reads

SQLServerCentral Article

SQL Server Security: Security Admins

As we mentioned before, Brian will be writing a column covering all facets of security. Turns out that there is so much to cover, he has agreed to write two columns per month! This article talks about the principle least privilege, why it doesn't always work, and some good info about removing the Builtin\Admin account.

(3)

You rated this post out of 5. Change rating

2003-06-27

21,148 reads

SQLServerCentral Article

SQL Server Security: The db_executor Role

Brian will be writing a monthly column for us on SQL Security, definitely a hot topic these days! He starts off by discussing the need for a built in db_executor role and how to grant permissions manually to achieve the same effect. Terrific concept, as granting table access can lead to bad things! If there is a security topic you'd like to see more info on, post a note to the article or email us at articles@sqlservercentral.com.

(7)

You rated this post out of 5. Change rating

2003-05-16

41,327 reads

Blogs

Optimising Costs: Strategies for Efficient Cloud Resource Management

By

Over time, I’ve realised that one of the hardest parts of cloud management isn’t...

Cost Visibility: Tracking and Analysing Your Cloud Spend

By

One of the biggest challenges I’ve faced in cloud operations is maintaining clear visibility...

Whiling away an afternoon, thinking

By

I come to Heathrow often. Today is likely somewhere close to 60 trips to...

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