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

Technical Article

CONTROL SERVER vs. sysadmin membership

In a previous blog post on Detecting When a Login Has Implicit Access to a Database, I mentioned that having CONTROL SERVER rights means having implicit rights into the databases. Robert Davis posted a comment asking if there was a difference with respect to explicit permissions between being a member of the sysadmin fixed server role and having CONTROL SERVER rights.

You rated this post out of 5. Change rating

2009-03-16

3,550 reads

Technical Article

You Must Trust Your DBAs

This is a follow-on post to You Must Trust Someone. My point in that post was to establish that being able to and and actually trusting your account and server administrators is a necessity. I didn't go into the business aspect of that, but basically it boils down to having a good selection process for candidates, checking out their references, ...

You rated this post out of 5. Change rating

2009-03-03

2,022 reads

Technical Article

You Must Trust Someone

After some recent talks with security folks and auditors, one of the things I have had a hard time getting across is that you must trust those folks responsible for account and server management when it comes to securing your data. Yes, you can put in...

(1)

You rated this post out of 5. Change rating

2009-02-26

2,549 reads

Technical Article

Another Reason to Avoid Cross-Database Ownership Chaining

This past weekend we were moving database files around because we added new LUNs to an existing production cluster. We went at the old tried and true way, we detached the databases, moved the files, and re-attached the databases. That seemed to work well...

You rated this post out of 5. Change rating

2009-02-20

2,133 reads

Blogs

Runing tSQLt Tests with Claude

By

Running tSQLt unit tests is great from Visual Studio but my development workflow...

Getting Your Data GenAI-Ready: The Next Stage of Data Maturity

By

I remember a meeting where a client’s CEO leaned in and asked me, “So,...

Learn Better: Pause to Review More

By

If you want to learn better, pause more in your learning to intentionally review.

Read the latest Blogs

Forums

How Good Is Pench National Park for First-Time Wildlife Travelers?

By penchbooking

Pench National Park is one of the best places to visit for the first...

Azure SQL DBA certification

By ashrukpm

Hello team Can anyone share popular azure SQL DBA certification exam code? and your...

Faster Data Engineering with Python Notebooks: The Fabric Modern Data Platform

By John Miner

Comments posted to this topic are about the item Faster Data Engineering with Python...

Visit the forum

Question of the Day

Which Result II

I have this code in SQL Server 2022:

CREATE SCHEMA etl;
GO
CREATE TABLE etl.product
(
    ProductID INT,
    ProductName VARCHAR(100)
);
GO
INSERT etl.product
VALUES
(2, 'Bee AI Wearable');
GO
CREATE TABLE dbo.product
(
    ProductID INT,
    ProductName VARCHAR(100)
);
GO
INSERT dbo.product
VALUES
(1, 'Spiral College-ruled Notebook');
GO
CREATE OR ALTER PROCEDURE etl.GettheProduct
AS
BEGIN
    exec('SELECT ProductName FROM product;')
END;
GO
exec etl.GettheProduct
When I execute this code as a user whose default schema is dbo and has rights to the tables and proc, what is returned?

See possible answers