Expertise

SQL Server Expert

SQL Server is the most common database for enterprise applications, particularly in the .NET and Windows ecosystem. I have hands-on experience with T-SQL, schema design, query performance, backup and high availability, and I can look at it end to end together with data access on the .NET side.

What does a SQL Server expert do?

SQL Server deployments usually grow together with .NET applications. That's why thinking about database problems in isolation from the application is misleading. I evaluate the schema and T-SQL side together with the data access layer, whether that's Entity Framework or Dapper. That way it becomes clear whether slowness comes from the database or from the queries being generated.

  • Schema: Normalisation, keys, constraints, file groups and the growth plan.
  • T-SQL: Stored procedures, functions, transaction management and error handling.
  • Performance: Execution plans, indexes, statistics and parameter sniffing.
  • Operations: Backup, Always On, monitoring and upgrades.

Performance tuning

Slow queries in SQL Server are usually caused by missing or wrong indexes, out-of-date statistics and query patterns produced on the application side. I start with measurement: real execution plans, wait statistics and the most expensive queries. Then I make targeted fixes:

  • Covering indexes and removing unnecessary indexes.
  • Rewriting queries so they read less data.
  • Tidying up statistics and maintenance plans.
  • Fixing N+1 and over-fetching issues on the application side.

Finer points like parameter sniffing are only addressed if they genuinely cause a problem and are confirmed by measurement; by default I don't touch complex settings.

Backup and high availability

Full, differential and transaction log backups are planned around recovery objectives. Backups must be kept in a separate location and restore tests must be run. If continuity is required, Always On or similar setups are considered; but a failover scenario is not trusted in production until it has been tested.

Security

Application accounts are separated from administrative accounts and the principle of least privilege is applied. For sensitive data, masking and auditing are considered. Keeping secrets out of the source code in connection strings is handled together with configuration management on the .NET side.

.NET integration

In projects that use Entity Framework Core or Dapper, the migration strategy, query generation and transaction management should be planned together. Instead of leaving the database schema entirely to the ORM, using controlled SQL at critical points gives you performance and predictability. Because I can evaluate both layers together, I find the source of a problem more quickly.

Frequently asked questions

SQL Server licensing is costly — what's the alternative?

PostgreSQL can be considered depending on the use case. But if you have existing .NET integration, reporting and team knowledge, the migration cost must be factored in. The decision should be made on total cost of ownership.

Is SQL Server fast enough with Entity Framework?

Yes, when it's used correctly. N+1, unnecessary tracking and large data fetches hurt performance. For critical queries I use projections or controlled SQL.

How do you find slow queries?

I look at execution plans, wait statistics and the most expensive queries. I also trace which request produces which queries on the application side.

What should the backup strategy look like?

Full, differential and log backups are planned around the acceptable data loss and downtime. A backup that hasn't been restore-tested can't be considered reliable.

Is Always On mandatory?

It's considered for critical systems that need continuity; it isn't necessary for every project. Cost, complexity and the actual need should be weighed together.

Can you migrate from SQL Server to PostgreSQL?

Yes, but T-SQL equivalents, data types, application connections and reporting must be tested. A phased migration with a rollback plan is recommended.