MS SQL(Microsoft SQL Server)面试常考的知识点

MS SQL是Microsoft SQL Server的简称,是由微软公司开发的一款关系型数据库管理系统(RDBMS,Relational DataBase Management System)。它支持在Windows和Linux上运行,广泛应用于企业级数据库市场,适用于大型企业网站和应用程序。MSSQL使用**Transact-SQL (T-SQL)**进行数据操作,提供了强大的数据管理和查询功能。

MS SQL Server 面试高频“数据库管理”知识清单
(按“概念 → 关键语法/命令 → 一句话场景示例”整理,背熟即可应对 90 % 提问)


一、体系结构 & 核心概念

概念一句话解释面试追问点
实例(Instance)一套 sqlservr.exe + 独占内存/端口默认实例 MSSQLSERVER vs 命名实例
系统数据库master/model/msdb/tempdb/resourcemaster 坏了怎么办?重建步骤
页 Page(8 KB)/ 区 Extent(8 页)I/O 最小单位计算表占多少页 = row*rows/8060
事务日志 LDFWAL 机制,先写日志再写数据日志截断 / 收缩 / 备份模式
恢复模式FULL / BULK_LOGGED / SIMPLE不同模式对日志截断的影响

二、DDL(库、表、索引、约束)

类别高频命令一句话示例
创建/删除库CREATE DATABASE / DROP DATABASECREATE DATABASE Sales ON (NAME='Sales_dat', FILENAME='D:\Data\Sales.mdf')
文件组 FILEGROUP把大表分区到不同磁盘ALTER DATABASE Sales ADD FILEGROUP FG2018
建表CREATE TABLE … PK / FK / CHECK / UNIQUECREATE TABLE Orders(id INT PRIMARY KEY, customer_id INT REFERENCES Customers(id))
修改表ALTER TABLE … ADD / ALTER COLUMN / DROP COLUMNALTER TABLE Orders ADD order_date DATETIME NOT NULL CONSTRAINT df_order_date DEFAULT GETDATE()
索引CREATE [CLUSTERED / NONCLUSTERED] INDEXCREATE NONCLUSTERED INDEX IX_OrderDate ON Orders(order_date)
覆盖索引INCLUDE 列减少回表CREATE INDEX IX_Cover ON Orders(order_date) INCLUDE(customer_id, amount)
视图CREATE VIEW vSales AS … WITH SCHEMABINDING防止基础对象被删除
分区表CREATE PARTITION FUNCTION / SCHEME按日期分区 > 快速切换归档

三、DML(增删改查 + 事务)

命令必背细节面试示例
INSERTIDENTITY_INSERT ON 可显式插入自增列SET IDENTITY_INSERT Orders ON; INSERT Orders(id) VALUES(1001);
UPDATE加 OUTPUT 子句查看旧值UPDATE Orders SET status='S' OUTPUT deleted.status AS old_status
DELETE vs TRUNCATE日志量、触发器、重置自增列TRUNCATE 不激活触发器、不能带 WHERE
MERGE一条语句完成 UPSERTMERGE Target USING Source ON … WHEN MATCHED THEN UPDATE … WHEN NOT MATCHED THEN INSERT …
事务 ACIDBEGIN TRAN / COMMIT / ROLLBACK / SAVEPOINT死锁优先级:SET DEADLOCK_PRIORITY LOW

四、查询与性能

主题关键词一句话示例
连接INNER / LEFT / RIGHT / FULL / CROSS APPLY用 APPLY 代替游标逐行计算
子查询 vs JOINEXISTS > IN 性能SELECT * FROM A WHERE EXISTS(SELECT 1 FROM B WHERE B.id=A.id)
窗口函数ROW_NUMBER / RANK / DENSE_RANK / LAG / LEADSELECT ROW_NUMBER() OVER(PARTITION BY dept ORDER BY salary DESC) AS rn
CTE 递归WITH … UNION ALL 自引用查 BOM 或组织架构树
执行计划SET STATISTICS IO / TIME ON;显示实际执行计划关注 Table Scan → Seek、RID Lookup → Key Lookup
参数嗅探OPTION (RECOMPILE)、OPTIMIZE FOR、局部变量转常量解决同一查询不同参数速度差异大
统计信息UPDATE STATISTICS WITH FULLSCAN过期的统计信息会导致走错执行计划
索引碎片sys.dm_db_index_physical_stats > 30 % 重建ALTER INDEX ALL ON Orders REBUILD

五、备份 / 恢复 / 高可用

任务命令 / 方案面试话术
完整备份BACKUP DATABASE Sales TO DISK=‘D:\Bak\Sales.bak’ WITH COMPRESSION压缩备份节省 60 % 空间
差异备份BACKUP DATABASE Sales TO DISK=‘…’ WITH DIFFERENTIAL每天 1 次完整 + 每 15 min 差异
日志备份BACKUP LOG Sales TO DISK=‘…’保证 FULL 模式下点-in-time 恢复
还原RESTORE DATABASE Sales FROM DISK=‘…’ WITH NORECOVERY → RESTORE LOG …恢复到指定时间点:STOPAT = '2024-08-28 15:30:00'
CHECKDBDBCC CHECKDB(‘Sales’) WITH NO_INFOMSGS每周至少一次,发现页损坏
镜像 / AlwaysOn同步/异步模式、自动故障转移见证服务器作用、仲裁问题
日志传送主→辅间隔分钟级,仅可读成本低,无自动故障转移

六、安全与权限

对象命令示例
登录 Login vs 用户 User登录实例级,用户数据库级CREATE LOGIN tom WITH PASSWORD='P@ss'CREATE USER tom FOR LOGIN tom
角色server role / db role / 自定义ALTER ROLE db_datareader ADD MEMBER tom
权限GRANT / DENY / REVOKEGRANT SELECT, INSERT ON Orders TO tom
行级安全CREATE SECURITY POLICY … WITH (PREDICATE)让销售只看自己区域订单
动态脱敏ADD MASKED WITH (FUNCTION = 'partial(1,"XXX",0)')面试问 GDPR 合规方案

七、监控 & 维护

DMV / 命令作用面试场景
sys.dm_exec_requests / sys.dm_exec_sessions查看阻塞链SELECT blocking_session_id, wait_type, wait_time
sys.dm_os_wait_stats服务器级别瓶颈常见 CXPACKET、PAGEIOLATCH_XX
sys.dm_db_missing_index_details推荐索引结合执行计划验证
Ola Hallengren 维护脚本免费开源:备份/索引/统计信息回答“如何做自动化维护”
SQL Server Agent Job定时任务每天 2:00 全备,每 15 min 日志备

八、常见面试题速答

  1. 日志文件暴涨怎么排查?
    log_reuse_wait_desc → 如果是 LOG_BACKUP 先做日志备份,再收缩。
  2. 索引重建还是重组?
    碎片 5–30 % 重组 REORGANIZE;>30 % 或深度 >3 层则重建 REBUILD
  3. 如何迁移 1 TB 库到新服务器最快?
    备份压缩 → 复制 bak → 还原;或 backup to url + azcopy;大库可先用日志传送。
  4. 出现死锁怎么办?
    开启 trace 1222 捕获死锁图 → 优化索引/调整事务顺序,必要时 WITH (ROWLOCK, UPDLOCK) 提示。
  5. tempdb 配置最佳实践?
    数据文件 = CPU 核数 ≤ 8,统一大小,开启 TF 1117/1118,放到最快的 SSD。

把上述清单按“概念→命令→场景”熟记,可在 MS SQL Server DBA / 开发面试中快速输出关键词,体现专业深度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/920949.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/920949.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

百胜软件获邀出席第七届中国智慧零售大会,智能中台助力品牌零售数智变革

8月28日,由深圳市智慧零售协会主办的第七届中国智慧零售大会在深圳福田希尔顿酒店成功召开。本届大会以“聚势AI共启智慧零售新生态”为主题,汇聚了来自北京大学、腾讯云、百果园、舍得酒业、美宜佳等众多知名企业与机构的专家代表,共同探讨A…

QEMU使用Qemu-Guest-Agent传输文件、执行指令等

简介 之前介绍过qemu传输文件,使用的挂载 / samba方式 :Qemu和宿主机不使用外网进行文件传输。 这是一种方式,这里还有另一种方式:使用Qemu-Guest-Agent,后面简称qga。 官网介绍:https://www.qemu.org/docs/master/interop/qemu-ga.html 安装 这里有一篇参考文章,会…

HTML 核心标签全解析:从文本排版到媒体嵌入

在网页开发中,HTML(超文本标记语言)是构建页面结构的基石。掌握各类核心标签的用法,是实现页面内容有序呈现、提升用户体验的关键。本文将系统讲解 HTML 中最常用的几类标签 —— 段落标签、文本格式标签、列表标签、表格&#xf…

[后端快速搭建]基于 Django+DeepSeek API 快速搭建智能问答后端

在 AI 应用开发中,将大模型 API 与 Web 框架结合是常见需求。本文将详细记录如何使用 Django 搭建后端服务,并集成 DeepSeek API 实现智能问答功能,包含环境配置、路由设计、API 调用及异常处理的完整流程,适合需要快速搭建 AI 问…

R 语言 + 卒中 Meta 分析

R 语言 卒中 Meta 分析:4 类核心场景完整代码(含药物对比 / 剂量风险) 卒中(缺血性 / 出血性)的临床决策高度依赖循证证据,而 Meta 分析是整合多中心研究结果的核心工具。本文以卒中临床研究为核心&#x…

Goframe 框架下HTTP反向代理并支持MCP所需的SSE协议的实现

一、需求背景 Go 语言开发 MCP 服务,并在 Goframe 框架下实现 Http 反向代理,代理该 MCP 服务。 二、效果演示 三、Goframe框架简介 GoFrame 是一款模块化、低耦合设计、高性能的Go 语言开发框架。包含了常用的基础组件和开发工具,既可以作…

Git将多笔patch合并成一笔

一、方法1、在你的代码中把这多笔patch都打上2、git reset到origin那一笔(默认模式,不带soft或者hard)3、再add和commit,push二、种模式对比模式命令示例影响范围适用场景--softgit reset --soft HEAD~1仅移动 HEAD,保留修改在暂存区修改提交…

【SpringBoot】Dubbo、Zookeeper

文章目录前提知识概要分布式系统单体架构垂直应用架构分布式架构流式架构RPCDubbo概念Dubbo环境搭建Zookeeper测试 ZookeeperWindow环境下使用Dubbo-admin版本匹配不对服务注册实战内容总结导入相关依赖选择 Zookeeper 版本配置并启用 Zookeeper创建服务接口和实现(DubboServic…

【不说废话】pytorch张量相对于numpy数组的优势

核心关系 我们首先需要了解:PyTorch 张量在设计上深受 NumPy 数组的影响,它们共享许多相似的 API 和概念。实际上,PyTorch 张量可以看作是支持 GPU 加速和自动求导功能的 NumPy 数组。PyTorch 张量的主要优势 1. GPU 加速支持(最重…

拼团小程序源码分享拼团余额提现小程序定制教程开发源码二开

功能详细说明(一)首页功能进入首页,可看到以下核心功能:1、优惠券,钱包,签到,拼团,分销等各种功能入口2、推荐的商品和活动3、下方功能栏的各种功能(二)客服功…

pikachu之XSS

XSS(跨站脚本)概述Cross-Site Scripting 简称为“CSS”,为避免与前端叠成样式表的缩写"CSS"冲突,故又称XSS。一般XSS可以分为如下几种常见类型:1.反射性XSS;2.存储型XSS;3.DOM型XSS;XSS漏洞一直被评估为web漏…

【Element Plus `el-select` 下拉菜单响应式定位问题深度解析】

Element Plus el-select 下拉菜单响应式定位问题深度解析 本文档旨在深入剖析一个在响应式布局中常见的 UI 问题:如何确保一个靠近屏幕边缘的 el-select 组件的下拉菜单,在任何屏幕尺寸下都能以预期的、优雅的方式显示。 1. 需求背景 在一个大屏数据展示…

Qt 项目文件(.pro)中添加 UI 文件相关命令

在 Qt 的 .pro 项目文件中,处理 UI 文件(.ui 文件)通常需要以下配置: 基本 UI 文件配置 自动包含 UI 文件: qmake FORMS yourfile.ui \anotherfile.ui Qt 构建系统会自动使用 uic(用户界面编译器&#xff…

展会回顾 | 聚焦医疗前沿 , 礼达先导在广州医博会展示类器官自动化培养技术

8月22-24日,广州医博会在广交会展馆B区圆满落幕。此次盛会汇聚了来自全球医疗健康领域的顶尖专家学者、企业代表与合作伙伴。展会内容涵盖基础研发、临床应用、前沿技术、产业转化、医疗服务及金融支持,全景呈现医疗健康产业的创新生态,成为连…

华为eNSP防火墙综合网络结构训练.docx

1.IP及VLAN规划情况 设备 接口 IP vlan 备注 AR1 g0/0/0 1.1.1.2/28 PPPOE g0/0/1 3.3.3.1/30 g0/0/2 114.114.114.254/24 AR2 g0/0/0 2.2.2.2/28 DHCP g0/0/1 3.3.3.2/30 g0/0/2 100.100.100.254/24 FW1 g1/0/0 10.0.0.1/30 tr…

从 Oracle 到 TiDB,通过ETL工具,高效实现数据拉通

在当前企业数字化转型的浪潮中,打破数据孤岛、实现异构数据库间的数据高效流转已成为提升业务敏捷性与决策效率的关键。许多企业在要将 Oracle 数据库中的海量数据准确地同步至TiDB 分布式数据库时遇到了挑战。这一过程不仅要求数据的绝对一致性,还对同步…

Effective c++ 35条款详解

您问到了最关键的一点!这正是策略模式的精妙之处——它通过组合(composition)而非继承(inheritance)来实现多态效果。让我详细解释这是如何工作的,以及它与传统继承多态的区别。🔄 策略模式如何…

51c自动驾驶~合集19

自己的原文哦~ https://blog.51cto.com/whaosoft/11793894 #DRAMA 首个基于Mamba的端到端运动规划器 运动规划是一项具有挑战性的任务,在高度动态和复杂的环境中生成安全可行的轨迹,形成自动驾驶汽车的核心能力。在本文中,我…

大数据新视界 -- Hive 数据仓库:架构深度剖析与核心组件详解(上)(1 / 30)

💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

软考 系统架构设计师系列知识点之杂项集萃(137)

接前一篇文章:软考 系统架构设计师系列知识点之杂项集萃(136) 第253题 在面向对象设计中,用于描述目标软件与外部环境之间交互的类被称为( ),它可以( )。 第1空 A. 实体类 B. 边界类 C. 模型类 D. 控制类 正确答案:B。 第2空 A. 表示目标软件系统中具有持久…