ఈ Top 100 SQL Server Interview Questions and Answers guide .NET Developer, Full Stack Developer, Senior Developer, Tech Lead, SQL Developer మరియు Solution Architect interviews కోసం ఉపయోగపడేలా రూపొందించబడింది.
🟢 SQL Server Basics – Questions 1–20
1. SQL Server అంటే ఏమిటి?
జవాబు:
SQL Server అనేది Microsoft అభివృద్ధి చేసిన Relational Database Management System (RDBMS). ఇందులో data ని tables, views, stored procedures, functions వంటి database objects లో store చేసి manage చేస్తాము.
2. SQL అంటే ఏమిటి?
జవాబు:
SQL అంటే Structured Query Language. Database లో data ని:
- Insert
- Select
- Update
- Delete
- Create
- Alter
చేయడానికి SQL ఉపయోగిస్తాము.
3. SQL Server మరియు SQL మధ్య తేడా ఏమిటి?
| SQL | SQL Server |
|---|---|
| Query Language | Database Management System |
| Standard language | Microsoft product |
| Data manipulation కోసం | Database management కోసం |
| SQL syntax ఉపయోగిస్తుంది | SQL language ని implement చేస్తుంది |
4. Database అంటే ఏమిటి?
జవాబు:
Data ని organized manner లో store చేయడానికి ఉపయోగించే collection ని Database అంటారు.
ఉదాహరణ:
EmployeeDB
├── Employees
├── Departments
├── Salaries
└── Addresses
5. Table అంటే ఏమిటి?
జవాబు:
Related data ని rows మరియు columns రూపంలో store చేసే database object ని Table అంటారు.
Employees
Id | Name | Salary
---|-------|-------
1 | Ravi | 50000
2 | Kumar | 60000
6. Primary Key అంటే ఏమిటి?
జవాబు:
Table లో ప్రతి row ని uniquely identify చేయడానికి ఉపయోగించే column లేదా columns combination ని Primary Key అంటారు.
CREATE TABLE Employees
(
Id INT PRIMARY KEY,
Name VARCHAR(100)
);
Primary Key:
- Duplicate values ఉండవు
- NULL ఉండదు
7. Foreign Key అంటే ఏమిటి?
జవాబు:
ఒక table లోని column మరో table యొక్క Primary Key ని reference చేస్తే దాన్ని Foreign Key అంటారు.
CREATE TABLE Orders
(
OrderId INT PRIMARY KEY,
CustomerId INT,
FOREIGN KEY (CustomerId)
REFERENCES Customers(CustomerId)
);
8. UNIQUE Constraint అంటే ఏమిటి?
జవాబు:
Column లో duplicate values రాకుండా నిరోధించడానికి UNIQUE constraint ఉపయోగిస్తారు.
Email VARCHAR(200) UNIQUE
Primary Key కి భిన్నంగా UNIQUE column సాధారణంగా NULL ని అనుమతించగలదు.
9. NULL అంటే ఏమిటి?
జవాబు:
NULL అంటే value తెలియదు లేదా value అందుబాటులో లేదు అని అర్థం.
NULL అనేది:
0 కాదు
Empty String కాదు
Space కాదు
10. DELETE, TRUNCATE, DROP మధ్య తేడా ఏమిటి?
| DELETE | TRUNCATE | DROP |
|---|---|---|
| Rows delete చేస్తుంది | అన్ని rows తొలగిస్తుంది | Object తొలగిస్తుంది |
| WHERE ఉపయోగించవచ్చు | WHERE ఉపయోగించలేము | Table structure కూడా పోతుంది |
| Logging ఎక్కువ | Logging తక్కువ | Object పూర్తిగా తొలగుతుంది |
| Transaction లో rollback చేయవచ్చు | Transaction context లో rollback చేయవచ్చు | Transaction handling పై ఆధారపడుతుంది |
11. DDL అంటే ఏమిటి?
జవాబు:
DDL = Data Definition Language
Examples:
CREATE
ALTER
DROP
TRUNCATE
12. DML అంటే ఏమిటి?
జవాబు:
DML = Data Manipulation Language
Examples:
INSERT
UPDATE
DELETE
13. DQL అంటే ఏమిటి?
జవాబు:
DQL = Data Query Language.
ప్రధానంగా:
SELECT
query కోసం ఉపయోగిస్తారు.
14. DCL అంటే ఏమిటి?
జవాబు:
DCL = Data Control Language.
Examples:
GRANT
REVOKE
DENY
15. TCL అంటే ఏమిటి?
జవాబు:
TCL = Transaction Control Language.
Examples:
COMMIT
ROLLBACK
SAVE TRANSACTION
16. Constraint అంటే ఏమిటి?
జవాబు:
Table లో valid data మాత్రమే insert అయ్యేలా rules enforce చేయడానికి Constraints ఉపయోగిస్తారు.
Common constraints:
- PRIMARY KEY
- FOREIGN KEY
- UNIQUE
- NOT NULL
- CHECK
- DEFAULT
17. CHECK Constraint అంటే ఏమిటి?
CREATE TABLE Employees
(
Age INT CHECK (Age >= 18)
);
Age 18 కంటే తక్కువగా ఉంటే database insert/update ని reject చేస్తుంది.
18. DEFAULT Constraint అంటే ఏమిటి?
Status VARCHAR(20) DEFAULT 'Active'
Value ఇవ్వకపోతే Active automatically insert అవుతుంది.
19. Identity Column అంటే ఏమిటి?
Id INT IDENTITY(1,1)
ఇది automatically numeric values generate చేస్తుంది.
IDENTITY(1,1):
- Starting value = 1
- Increment = 1
20. Schema అంటే ఏమిటి?
జవాబు:
Database objects ని logically organize చేయడానికి Schema ఉపయోగిస్తారు.
ఉదాహరణ:
Sales.Orders
HR.Employees
Finance.Payments
🟡 SQL Queries – Questions 21–40
21. SELECT statement అంటే ఏమిటి?
SELECT * FROM Employees;
Table నుండి data retrieve చేయడానికి SELECT ఉపయోగిస్తారు.
22. WHERE clause ఎందుకు ఉపయోగిస్తారు?
SELECT *
FROM Employees
WHERE Salary > 50000;
Specific rows ని filter చేయడానికి WHERE ఉపయోగిస్తారు.
23. ORDER BY అంటే ఏమిటి?
SELECT *
FROM Employees
ORDER BY Salary DESC;
Result ని ascending లేదా descending order లో sort చేయడానికి ఉపయోగిస్తారు.
24. GROUP BY అంటే ఏమిటి?
Same values ని groups గా create చేసి aggregate calculations చేయడానికి ఉపయోగిస్తారు.
SELECT DepartmentId, COUNT(*)
FROM Employees
GROUP BY DepartmentId;
25. HAVING మరియు WHERE మధ్య తేడా ఏమిటి?
WHERE → individual rows ని filter చేస్తుంది.
HAVING → grouped results ని filter చేస్తుంది.
SELECT DepartmentId, COUNT(*)
FROM Employees
GROUP BY DepartmentId
HAVING COUNT(*) > 5;
26. DISTINCT అంటే ఏమిటి?
Duplicate results తొలగించడానికి:
SELECT DISTINCT DepartmentId
FROM Employees;
27. TOP అంటే ఏమిటి?
SELECT TOP 10 *
FROM Employees;
మొదటి 10 records retrieve చేయడానికి ఉపయోగిస్తారు.
28. BETWEEN అంటే ఏమిటి?
SELECT *
FROM Employees
WHERE Salary BETWEEN 30000 AND 60000;
ఒక range లో values retrieve చేయడానికి ఉపయోగిస్తారు.
29. IN operator అంటే ఏమిటి?
SELECT *
FROM Employees
WHERE DepartmentId IN (1,2,3);
Multiple values తో comparison చేయడానికి ఉపయోగిస్తారు.
30. LIKE operator అంటే ఏమిటి?
SELECT *
FROM Employees
WHERE Name LIKE 'A%';
Pattern matching కోసం ఉపయోగిస్తారు.
Common wildcards:
% → zero or more characters
_ → single character
31. INNER JOIN అంటే ఏమిటి?
రెండు tables లో matching records మాత్రమే return చేస్తుంది.
SELECT e.Name, d.DepartmentName
FROM Employees e
INNER JOIN Departments d
ON e.DepartmentId = d.Id;
32. LEFT JOIN అంటే ఏమిటి?
Left table లోని అన్ని records మరియు matching right table records return చేస్తుంది.
SELECT *
FROM Employees e
LEFT JOIN Departments d
ON e.DepartmentId = d.Id;
33. RIGHT JOIN అంటే ఏమిటి?
Right table లోని అన్ని records మరియు matching left table records return చేస్తుంది.
34. FULL OUTER JOIN అంటే ఏమిటి?
రెండు tables లోని matching మరియు non-matching records అన్నింటినీ return చేస్తుంది.
35. CROSS JOIN అంటే ఏమిటి?
రెండు tables యొక్క Cartesian product create చేస్తుంది.
ఉదాహరణకు:
Table A = 3 rows
Table B = 4 rows
Result = 3 × 4 = 12 rows
36. SELF JOIN అంటే ఏమిటి?
ఒక table ని అదే table తో join చేయడాన్ని Self Join అంటారు.
Employee–Manager relationship కోసం ఉపయోగించవచ్చు.
SELECT e.Name AS Employee,
m.Name AS Manager
FROM Employees e
LEFT JOIN Employees m
ON e.ManagerId = m.Id;
37. UNION మరియు UNION ALL మధ్య తేడా?
UNION duplicate rows తొలగిస్తుంది.
UNION ALL duplicates కూడా return చేస్తుంది.
Performance పరంగా UNION ALL సాధారణంగా faster.
38. EXISTS అంటే ఏమిటి?
Subquery కనీసం ఒక matching row ఉందో లేదో check చేయడానికి ఉపయోగిస్తారు.
SELECT *
FROM Customers c
WHERE EXISTS
(
SELECT 1
FROM Orders o
WHERE o.CustomerId = c.Id
);
39. Subquery అంటే ఏమిటి?
ఒక query లో మరో query ని ఉపయోగించడాన్ని Subquery అంటారు.
SELECT *
FROM Employees
WHERE Salary >
(
SELECT AVG(Salary)
FROM Employees
);
40. CTE అంటే ఏమిటి?
CTE = Common Table Expression.
Complex queries readable గా ఉండేందుకు ఉపయోగిస్తారు.
WITH EmployeeCTE AS
(
SELECT *
FROM Employees
)
SELECT *
FROM EmployeeCTE;
🔵 SQL Functions – Questions 41–55
41. Aggregate Functions అంటే ఏమిటి?
Multiple rows మీద calculation చేయడానికి ఉపయోగిస్తారు.
Examples:
COUNT()
SUM()
AVG()
MIN()
MAX()
42. COUNT(*) మరియు COUNT(Column) మధ్య తేడా?
COUNT(*)
Rows అన్నింటినీ count చేస్తుంది.
COUNT(ColumnName)
NULL values ని count చేయదు.
43. ISNULL() అంటే ఏమిటి?
NULL value కి alternative value ఇవ్వడానికి:
SELECT ISNULL(Phone, 'Not Available')
FROM Customers;
44. COALESCE() అంటే ఏమిటి?
Multiple expressions లో first non-null value return చేస్తుంది.
SELECT COALESCE(HomePhone, MobilePhone, 'N/A')
45. NULLIF() అంటే ఏమిటి?
రెండు expressions equal అయితే NULL return చేస్తుంది.
SELECT NULLIF(10,10);
Result:
NULL
46. CAST మరియు CONVERT అంటే ఏమిటి?
Data type conversion కోసం ఉపయోగిస్తారు.
SELECT CAST(Salary AS VARCHAR(20))
SELECT CONVERT(VARCHAR(20), Salary)
47. CHARINDEX() అంటే ఏమిటి?
String లో ఒక character/string position కనుగొనడానికి ఉపయోగిస్తారు.
SELECT CHARINDEX('a', 'Database');
48. SUBSTRING() అంటే ఏమిటి?
SELECT SUBSTRING('SQL SERVER', 1, 3);
Result:
SQL
49. LEN() మరియు DATALENGTH() మధ్య తేడా?
LEN() trailing spaces ని ignore చేస్తుంది.
DATALENGTH() actual bytes count చేస్తుంది.
50. DATEADD() అంటే ఏమిటి?
Date కి interval add చేయడానికి:
SELECT DATEADD(DAY, 10, GETDATE());
51. DATEDIFF() అంటే ఏమిటి?
రెండు dates మధ్య difference కనుగొనడానికి:
SELECT DATEDIFF(DAY, StartDate, EndDate);
52. GETDATE() అంటే ఏమిటి?
SQL Server current date మరియు time return చేస్తుంది.
SELECT GETDATE();
53. ROW_NUMBER() అంటే ఏమిటి?
Result rows కి sequential number assign చేస్తుంది.
SELECT
ROW_NUMBER() OVER (ORDER BY Salary DESC) AS RowNum,
Name,
Salary
FROM Employees;
54. RANK() మరియు DENSE_RANK() మధ్య తేడా?
Suppose salaries:
100
100
90
80
RANK():
1
1
3
4
DENSE_RANK():
1
1
2
3
55. Window Function అంటే ఏమిటి?
Rows ని collapse చేయకుండా calculation చేయడానికి Window Functions ఉపయోగిస్తారు.
Examples:
ROW_NUMBER()
RANK()
DENSE_RANK()
SUM() OVER()
AVG() OVER()
🟣 Indexes – Questions 56–65
56. Index అంటే ఏమిటి?
Database queries ని faster గా execute చేయడానికి Index ఉపయోగిస్తారు.
Index ఒక book యొక్క index లాంటిది.
57. Clustered Index అంటే ఏమిటి?
Table data యొక్క physical/logical row organization ని index key ఆధారంగా ఏర్పాటు చేసే index type.
ఒక table కి సాధారణంగా ఒక clustered index మాత్రమే ఉంటుంది.
58. Non-Clustered Index అంటే ఏమిటి?
Data rows కి pointers/references కలిగి ఉండే separate index structure.
ఒక table కి multiple non-clustered indexes ఉండవచ్చు.
59. Clustered మరియు Non-Clustered Index మధ్య తేడా?
| Clustered | Non-Clustered |
|---|---|
| Table data organization తో closely tied | Separate index structure |
| సాధారణంగా ఒకటి | Multiple ఉండవచ్చు |
| Range queries కి useful | Search performance improve చేస్తుంది |
60. Composite Index అంటే ఏమిటి?
Multiple columns పై create చేసే index.
CREATE INDEX IX_Employee
ON Employees(DepartmentId, Salary);
61. Covering Index అంటే ఏమిటి?
Query కి అవసరమైన columns అన్నీ index లో available గా ఉంటే దాన్ని Covering Index అంటారు.
CREATE INDEX IX_Employee
ON Employees(DepartmentId)
INCLUDE(Name, Salary);
62. Index Seek అంటే ఏమిటి?
Index ద్వారా required rows ని efficiently locate చేయడాన్ని Index Seek అంటారు.
63. Index Scan అంటే ఏమిటి?
Index లో పెద్ద భాగం లేదా మొత్తం scan చేయడాన్ని Index Scan అంటారు.
64. ఎక్కువ indexes ఉంటే ఏం జరుగుతుంది?
SELECT queries fast కావచ్చు కానీ:
- INSERT slow
- UPDATE slow
- DELETE slow
- Storage ఎక్కువ
అవుతాయి.
కాబట్టి indexes ని అవసరానికి అనుగుణంగా design చేయాలి.
65. Index Fragmentation అంటే ఏమిటి?
Index pages లో data organization inefficient గా మారడాన్ని fragmentation అంటారు.
దీనిని analyze చేసి అవసరమైతే:
ALTER INDEX ... REORGANIZE;
లేదా
ALTER INDEX ... REBUILD;
చేయవచ్చు.
🔴 Stored Procedures, Views & Functions – Questions 66–75
66. Stored Procedure అంటే ఏమిటి?
Database లో pre-defined SQL statements collection ని Stored Procedure అంటారు.
CREATE PROCEDURE GetEmployees
AS
BEGIN
SELECT *
FROM Employees;
END;
67. Stored Procedure ఉపయోగాలు ఏమిటి?
- Reusability
- Security
- Centralized database logic
- Reduced network traffic
- Parameterization
68. Stored Procedure కి Parameters ఎలా pass చేస్తారు?
CREATE PROCEDURE GetEmployee
@Id INT
AS
BEGIN
SELECT *
FROM Employees
WHERE Id = @Id;
END;
Call:
EXEC GetEmployee @Id = 10;
69. View అంటే ఏమిటి?
View అనేది saved SELECT query ఆధారంగా create చేసే virtual table.
CREATE VIEW EmployeeView
AS
SELECT Id, Name, Salary
FROM Employees;
70. View మరియు Table మధ్య తేడా?
Table: Actual data store చేస్తుంది.
View: సాధారణంగా query definition ని store చేస్తుంది; underlying tables నుండి data retrieve చేస్తుంది.
71. Function అంటే ఏమిటి?
Reusable SQL logic ని function గా define చేయవచ్చు.
Types:
- Scalar Function
- Inline Table-Valued Function
- Multi-Statement Table-Valued Function
72. Stored Procedure మరియు Function మధ్య తేడా?
| Stored Procedure | Function |
|---|---|
| EXEC ద్వారా call చేయవచ్చు | Query లో ఉపయోగించవచ్చు |
| Multiple result sets సాధ్యం | Function type పై ఆధారపడి return ఉంటుంది |
| Transactions/side effects support ఎక్కువ | Restrictions ఎక్కువ |
| Parameters support | Parameters support |
73. Trigger అంటే ఏమిటి?
Table లేదా database event జరిగినప్పుడు automatically execute అయ్యే database object.
Examples:
INSERT
UPDATE
DELETE
74. AFTER Trigger అంటే ఏమిటి?
DML operation successfully execute అయిన తర్వాత trigger execute అవుతుంది.
75. INSTEAD OF Trigger అంటే ఏమిటి?
Original operation కి బదులుగా trigger logic execute అవుతుంది.
Views మీద కూడా INSTEAD OF triggers ఉపయోగించవచ్చు.
🟠 Transactions & Concurrency – Questions 76–85
76. Transaction అంటే ఏమిటి?
Multiple database operations ని ఒక logical unit గా execute చేయడాన్ని Transaction అంటారు.
BEGIN TRANSACTION;
UPDATE Accounts
SET Balance = Balance - 1000
WHERE Id = 1;
UPDATE Accounts
SET Balance = Balance + 1000
WHERE Id = 2;
COMMIT;
77. ACID Properties అంటే ఏమిటి?
A – Atomicity
Transaction మొత్తం success లేదా మొత్తం failure.
C – Consistency
Database valid state లో ఉండాలి.
I – Isolation
Concurrent transactions ఒకదానిపై మరొకటి inappropriate గా ప్రభావితం చేయకూడదు.
D – Durability
Committed data persist అవుతుంది.
78. COMMIT అంటే ఏమిటి?
Transaction changes ని permanently commit చేయడానికి:
COMMIT TRANSACTION;
79. ROLLBACK అంటే ఏమిటి?
Transaction changes ని undo చేయడానికి:
ROLLBACK TRANSACTION;
80. SAVEPOINT అంటే ఏమిటి?
Transaction లో intermediate point create చేయడానికి SQL Server లో:
SAVE TRANSACTION SavePoint1;
తర్వాత specific savepoint వరకు rollback చేయవచ్చు.
81. Deadlock అంటే ఏమిటి?
రెండు లేదా అంతకంటే ఎక్కువ transactions ఒకదానికొకటి locks release చేయడానికి wait చేస్తే Deadlock ఏర్పడుతుంది.
ఉదాహరణ:
Transaction A → Resource 1 lock
Transaction B → Resource 2 lock
A waits for Resource 2
B waits for Resource 1
82. Deadlock ఎలా resolve చేయాలి?
- Proper transaction ordering
- Short transactions
- Proper indexes
- Avoid unnecessary locks
- Query optimization
- Retry mechanism
SQL Server deadlock victim గా ఒక transaction ని terminate చేసి మరో transaction ని continue చేయవచ్చు.
83. Blocking అంటే ఏమిటి?
ఒక transaction lock hold చేస్తున్నందువల్ల మరో transaction అదే resource కోసం wait చేయడాన్ని Blocking అంటారు.
84. Isolation Level అంటే ఏమిటి?
Concurrent transactions ఒకదాని data ని మరొకటి ఎలా చూడాలో control చేసే setting.
SQL Server isolation levels:
Read Uncommitted
Read Committed
Repeatable Read
Snapshot
Serializable
85. Dirty Read అంటే ఏమిటి?
ఒక transaction commit చేయని data ని మరో transaction read చేయడాన్ని Dirty Read అంటారు.
READ UNCOMMITTED isolation level లో ఇది సంభవించవచ్చు.
🟤 Performance & Optimization – Questions 86–95
86. SQL Query Performance ఎలా improve చేయాలి?
ప్రధాన techniques:
- Proper indexes
- Avoid SELECT *
- Query execution plan analyze చేయడం
- Statistics maintain చేయడం
- Large data కి pagination
- SARGable predicates
- Unnecessary joins avoid చేయడం
- Proper data types ఉపయోగించడం
87. Execution Plan అంటే ఏమిటి?
SQL Server ఒక query ని ఎలా execute చేయబోతుందో చూపించే plan ని Execution Plan అంటారు.
ఇందులో:
Index Seek
Index Scan
Table Scan
Sort
Hash Match
Nested Loops
Merge Join
వంటి operators కనిపిస్తాయి.
88. Actual Execution Plan మరియు Estimated Execution Plan మధ్య తేడా?
Estimated Plan: Query execute చేయకముందు optimizer estimate.
Actual Plan: Query execute అయిన తర్వాత actual execution information తో plan.
Performance troubleshooting లో Actual Execution Plan చాలా useful.
89. Statistics అంటే ఏమిటి?
Columns లో data distribution గురించి optimizer కి information అందించేది Statistics.
Query optimizer మంచి execution plan select చేయడానికి statistics ఉపయోగిస్తుంది.
90. SARGable Query అంటే ఏమిటి?
Index ని efficiently utilize చేయగల search predicate ని SARGable predicate అంటారు.
Bad:
WHERE YEAR(OrderDate) = 2026
Better:
WHERE OrderDate >= '20260101'
AND OrderDate < '20270101'
91. N+1 Query Problem అంటే ఏమిటి?
ముందుగా ఒక query execute చేసి, ఆ తర్వాత ప్రతి record కోసం మరో query execute చేయడాన్ని N+1 problem అంటారు.
ఉదాహరణ:
1 query → Customers
N queries → Orders for each customer
దీనివల్ల database calls ఎక్కువ అవుతాయి.
92. Pagination ఎలా implement చేయాలి?
Modern SQL Server versions లో:
SELECT *
FROM Employees
ORDER BY Id
OFFSET 20 ROWS
FETCH NEXT 10 ROWS ONLY;
ఇది pagination కోసం ఉపయోగించవచ్చు.
93. Query లో SELECT * ఎందుకు avoid చేయాలి?
SELECT * వల్ల అవసరం లేని columns కూడా retrieve అవుతాయి.
Problems:
- More network traffic
- More memory
- Poor readability
- Covering indexes ఉపయోగించడంలో సమస్యలు
Better:
SELECT Id, Name, Salary
FROM Employees;
94. Temp Table అంటే ఏమిటి?
Temporary data store చేయడానికి ఉపయోగించే table.
CREATE TABLE #Employees
(
Id INT,
Name VARCHAR(100)
);
#Employees local temporary table.
95. Table Variable అంటే ఏమిటి?
DECLARE @Employees TABLE
(
Id INT,
Name VARCHAR(100)
);
Temporary result/data కోసం table variable ఉపయోగించవచ్చు.
Large datasets కోసం temp table మరియు table variable choice workload/version పై ఆధారపడి ఉంటుంది.
🟣 Advanced SQL Server – Questions 96–100
96. Temp Table మరియు Table Variable మధ్య తేడా ఏమిటి?
| Temp Table | Table Variable |
|---|---|
#Table syntax | @Table syntax |
| Larger/intermediate workloads కి useful | Smaller/simple workloads లో useful |
| Statistics/indexing capabilities ఎక్కువ | Capabilities comparatively limited |
| TempDB లో store అవుతుంది | TempDB infrastructure ఉపయోగించవచ్చు |
| Complex queries లో useful | Simple operations లో useful |
97. Normalization అంటే ఏమిటి?
Database లో duplicate data తగ్గించి data integrity improve చేయడానికి tables ని logically organize చేయడాన్ని Normalization అంటారు.
Common forms:
1NF
2NF
3NF
BCNF
98. Denormalization అంటే ఏమిటి?
Performance లేదా reporting requirements కోసం intentionally redundant data maintain చేయడాన్ని Denormalization అంటారు.
ఉదాహరణ:
Customer
Order
OrderDetails
నుండి reporting performance కోసం కొన్ని frequently accessed values ని combined structure లో maintain చేయడం.
99. SQL Injection అంటే ఏమిటి?
User input ని unsafe గా SQL query లో concatenate చేయడం వల్ల attacker malicious SQL inject చేసే అవకాశం ఉంటుంది.
Bad:
var sql = "SELECT * FROM Users WHERE Name = '" + name + "'";
Better:
var command = new SqlCommand(
"SELECT * FROM Users WHERE Name = @Name",
connection);
command.Parameters.AddWithValue("@Name", name);
.NET applications లో parameterized queries, EF Core parameterization, stored procedures వంటి safe approaches ఉపయోగించాలి.
100. SQL Server Database ని Production లో ఎలా optimize చేస్తారు?
జవాబు: Production SQL Server optimization అనేది ఒకే technique కాదు. Complete approach అవసరం.
Step 1 – Query Performance
Slow Queries
↓
Execution Plan
↓
Identify Bottleneck
↓
Optimize Query
Step 2 – Index Optimization
Missing Indexes
Unused Indexes
Fragmentation
Index Usage
వీటిని analyze చేయాలి.
Step 3 – Database Design
- Proper normalization
- Correct data types
- Appropriate constraints
- Good relationships
Step 4 – Concurrency
- Blocking identify చేయాలి
- Deadlocks analyze చేయాలి
- Transactions short గా ఉంచాలి
- Appropriate isolation level ఉపయోగించాలి
Step 5 – Monitoring
Production environment లో:
CPU
Memory
IO
Wait Statistics
Blocking
Deadlocks
Long-running Queries
Database Growth
వంటివి monitor చేయాలి.
⭐ Bonus: SQL Server Interviewలో తరచుగా అడిగే Scenario Questions
Scenario 1: ఒక query productionలో చాలా slow గా ఉంది. ఏం చేస్తారు?
Answer:
1. Query identify
2. Actual Execution Plan చూడటం
3. Query statistics analyze చేయటం
4. Index usage check చేయటం
5. Missing/unused indexes analyze చేయటం
6. Blocking/deadlocks check చేయటం
7. Statistics check/update
8. Query rewrite
9. Test in staging
10. Production monitoring
Scenario 2: Tableలో 10 కోట్ల records ఉన్నాయి. Query fast చేయాలంటే?
Answer:
- Proper indexing
- Partitioning అవసరమైతే consider చేయడం
- Pagination
- Select only required columns
- Query optimization
- Statistics maintenance
- Archiving strategy
- Appropriate database design
Scenario 3: Deadlock frequently వస్తోంది. ఎలా troubleshoot చేస్తారు?
Answer:
మొదట deadlock information/captured graph analyze చేయాలి.
తర్వాత:
Transaction order
↓
Locks
↓
Queries
↓
Indexes
↓
Transaction duration
వీటిని analyze చేసి root cause fix చేయాలి.
Scenario 4: Duplicate records తొలగించాలి. ఎలా?
ఉదాహరణకు Email duplicate అయితే ROW_NUMBER() ఉపయోగించవచ్చు:
WITH CTE AS
(
SELECT *,
ROW_NUMBER() OVER
(
PARTITION BY Email
ORDER BY Id
) AS RN
FROM Customers
)
DELETE FROM CTE
WHERE RN > 1;
ఇక్కడ ప్రతి Email కి మొదటి record ఉంచి మిగిలిన duplicates తొలగించవచ్చు.
Scenario 5: Second Highest Salary ఎలా find చేస్తారు?
SELECT MAX(Salary)
FROM Employees
WHERE Salary <
(
SELECT MAX(Salary)
FROM Employees
);
లేదా:
SELECT Salary
FROM
(
SELECT Salary,
DENSE_RANK() OVER
(
ORDER BY Salary DESC
) AS RN
FROM Employees
) X
WHERE RN = 2;
🎯 Interview Preparation కోసం ముఖ్యమైన SQL Server Topics
2026 SQL Server interviewకి ఈ 15 areas మీద ప్రత్యేకంగా preparation చేయడం మంచిది:
- Joins
- CTE
- Subqueries
- Window Functions
- ROW_NUMBER / RANK / DENSE_RANK
- Indexes
- Execution Plans
- Query Optimization
- Transactions
- ACID Properties
- Isolation Levels
- Deadlocks & Blocking
- Stored Procedures
- Temp Tables & Table Variables
- SQL Injection & Security
🏆 Final Interview Tip
Senior/Lead .NET interviewsలో కేవలం “SQL syntax తెలుసా?” అని మాత్రమే అడగరు. ఎక్కువగా:
“Productionలో query slow అయితే ఎలా troubleshoot చేస్తారు?”
“Deadlock వస్తే ఎలా resolve చేస్తారు?”
“10 crore records ఉన్న tableని ఎలా optimize చేస్తారు?”
“ఏ index create చేస్తారు? ఎందుకు?”
“Execution Planలో ఏం చూస్తారు?”
లాంటి real-time scenario-based questions అడుగుతారు.
అందువల్ల ఈ 100 questionsతో పాటు SQL Query Optimization + Indexing + Execution Plans + Transactions + Deadlocks + Real-Time SQL Scenarios మీద practical knowledge ఉండటం Senior .NET Developer / Tech Lead interviewsకి చాలా ఉపయోగపడుతుంది.
