Dynamic data masking hides values at query time, and the masking functions decide what a reader still sees. This post tests default, email, partial, random and datetime on SQL Server 2025 and shows what each one returns. It also covers adding and dropping a mask on an existing column.
Schema-Level Permissions: Granting on a Schema, Not Each Object
Apply schema-level permissions to a database role, include future tables automatically, separate internal data, and review grants.
SQL SERVER – Setting up a Robust Password Policy
Today’s topic of Setting up a Password Policy often emerges during my Comprehensive Database Performance Health Check consultations.
Finding Permissions Granted Directly to Users Instead of Roles
Find permissions granted directly to users, generate role-based review statements, and preserve DENY, column, and grant-option distinctions.
Column-Level Permissions: Hiding One Column From Some Users
Apply SQL Server column-level permissions, test DENY and SELECT behavior, inspect explicit grants, and compare views with data masking.
Cross-Database Ownership Chaining: Why It Is Off and What to Use
Understand cross-database ownership chaining, inspect its scope, and use signed procedures for narrow access between SQL Server databases.
Tagging Queries With SESSION_CONTEXT to Trace App Users
Tag SQL Server work with SESSION_CONTEXT, read tags in audit defaults and modules, and handle read-only values and pooled connections.







