Stairway to SQL Server Security

Stairway to SQL Server Security Level 5: Schemas and Security

In this stairway level you’ll learn how you can give principals access to groups of objects by assigning permissions on schemas instead of individual tables, code modules, and other objects. You’ll also learn about the benefits of user-schema separation and how it can increase object security, and how using default schemas for users and groups can simplify object access management and security.

SQLServerCentral Editorial

Who Are You?

I was sitting here thinking about the editorial when Kathi Kellenberger came to mind. She would frequently write about her favorite show, Star Trek. I too have been a fan of Star Trek since I was very young. However, my favorite show is a little more obscure and not as many people have seen it, […]

Blogs

T-SQL Tuesday #192: What career risks have you taken?

By

I’m honored to be hosting T-SQL Tuesday — edition #192. For those who may...

AI: Blog a Day – Day 3: LLM Models – Open Source vs Closed Source

By

Continuing from Day 2 , we learned introduction on Generative AI and Agentic AI,...

How to Parameterize Fabric Linked Services in Azure Data Factory for Azure Devops Deployment

By

Quite the title, so let me set the stage first. You have an Azure...

Read the latest Blogs

Forums

how to write this query?

By water490

hi everyone I am not sure how to write the query that will produce...

Rollback vs. Roll Forward

By Steve Jones - SSC Editor

Comments posted to this topic are about the item Rollback vs. Roll Forward

Foreign Keys - Foes or Friend?

By utsav

Comments posted to this topic are about the item Foreign Keys - Foes or...

Visit the forum

Question of the Day

Fun with JSON I

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 *
FROM OPENJSON(
     (
         SELECT t.* FROM #test_data AS t FOR JSON PATH
     )
             ) t;

See possible answers