暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

2022年 SQL Server DBA 面试题(含答案)

原创 小小亮 2022-11-11
2938

如果您正在寻找面向有经验或应届生的 SQL Server DBA 面试问题,那么您来对地方了。世界上许多知名公司都有很多机会。根据对 SQL Server 的研究,DBA 的市场份额约为 46%。

因此,您仍然有机会在 SQL Server DBA 的职业生涯中继续前进。Mindmajix 提供 2022 年高级SQL Server DBA 面试问题,帮助您完成面试并获得作为 SQL Server DBA 开发人员的梦想职业。

我们将 SQL Server DBA 面试问题分为 3 个级别,它们分别是

  • 应届生
  • 基于场景
  • 有经验的

SQL Server DBA 面试的 10 大常见问题

  1. 模型数据库的用途是什么?
  2. 说明您的 SQL Server DBA 经验?
  3. 什么是 DCL?
  4. 什么是复制?
  5. 为什么要使用 SQL 代理?
  6. 什么是 DBCC?
  7. 数据库的恢复模型有哪些?
  8. 恢复模式的重要性是什么?
  9. 什么是透明数据加密?
  10. 在 SQL Server 中创建数据库的方法有哪些?

SQL Server DBA 应届生面试问答

1. MS SQL Server 与 MySQL?

MS SQL Server 与 MySQL

姓名

微软 SQL 服务器

MySQL

定义

微软关系数据库管理系统

关系数据库管理系统的广泛使用

主数据库模型

关系数据库管理系统

关系数据库管理系统

辅助数据库模型

图形 DBMS、文档和价值存储

文档和键值存储

开发商

它是由微软开发的

它是由 Oracle 开发的

服务器操作系统

它支持Windows、Linux

它支持 Linux、Solarwinds、Windows、OS X

支持语言

Java、PHP、Ruby、C#、C++、R 等

Python、TCL、Scheme、Haskell、Javascript、Ruby、C、C++、C# 更多 

FK(外键)

是的,他们支持

是的,他们支持

蜜蜂

JDBC、ODBC、OLE DB、TDS

ODBC、ADO.NET、JDBC

许可证

仅限商业

开源(免费)

2. 模型数据库有什么用途?

模型数据库,顾名思义,充当在同一实例上创建的所有数据库的模型(或模板)。如果修改了模型数据库,则在该实例上创建的所有后续数据库都将获取这些更改,但之前创建的数据库不会。请注意,每次 SQL Server 启动时,也会从模型中创建 TEMPDB。                                           

3. 您如何跟踪访问 SQL Server 的流量?

SQL 探查器是可用于跟踪 SQL Server 实例上的流量的SQL Server实用程序。可以过滤跟踪以缩小捕获的事务并减少跟踪产生的开销。可以搜索、保存甚至重放跟踪文件以方便故障排除。

4. SQL Server 支持哪些类型的复制?

SQL Server 具有三种复制类型:快照、合并和事务。快照复制创建数据的快照(数据的时间点图片)以交付给订阅者。当数据不经常更改、需要复制少量数据或在短时间内发生较大更改时,这是一个很好的类型。

合并复制使用快照来播种复制。跟踪发布两侧的更改,以便订阅者在连接时可以与发布者同步。这种类型的复制的典型用途是在客户端和服务器场景中。服务器将充当中央存储库,多个客户端将独立更新其数据副本,直到连接。届时,他们都会将他们的修改发送到中央存储。

事务复制也从快照开始,只是这次更改被跟踪为事务(顾名思义)。更改从发布者复制到订阅者的过程与在发布者上发生的相同,按照发生的顺序,并且几乎是实时的。当订阅者需要知道发生在数据上的每个更改(不是时间点)、更改量很大以及订阅者需要近乎实时地访问更改时,这种类型的复制很有用。

5. 为什么要使用 SQL 代理?

SQL Agent 是 SQL Server 中的作业调度机制。可以安排作业在设定的时间或发生特定事件时运行。作业也可以按需执行。SQL 代理最常用于计划管理作业,例如备份。

6. 在检查站会发生什么?

检查点,无论是计划的还是手动执行的,都会导致事务日志被截断到最旧的打开事务的开头(日志的活动部分)。也就是说,缓冲区缓存中的脏页被写入磁盘。将已提交的事务存储在缓存中可以提高 SQL Server 的性能。但是,您不希望事务日志变得太大,因为它可能会消耗太多资源,并且如果您的数据库发生故障,需要很长时间来处理以恢复数据库。

这里需要注意的一件重要事情是 SQL Server 只能截断到最旧的打开事务。因此,如果您没有从检查点看到预期的缓解,很可能是有人忘记提交或回滚他们的事务。尽快完成所有交易非常重要。

7.什么是DBCC?

DBCC 语句是数据库控制台命令,有四种形式:

  1. 维护
  2. 信息性
  3. 验证
  4. 各种各样的

维护命令是允许 DBA 对数据库执行维护活动(例如收缩文件)的命令。

信息性命令提供有关数据库的反馈,例如提供有关过程缓存的信息。验证命令包括验证数据库的命令,例如流行的 CHECKDB。最后,杂项命令显然不属于其他三个类别。这包括像 DBCC HELP 这样的语句,它为给定的 DBCC 命令提供语法。

8. 如何控制索引页的可用空间量?

您可以在索引上设置填充因子。这告诉 SQL Server 在重新建立索引时要在索引页中留下多少可用空间。此处的性能优势是更少的页面拆分(SQL Server 必须将行从一个索引页面复制到另一个索引页面为插入的行腾出空间),因为索引中存在增长空间。

9. 为什么要调用更新统计信息?

更新统计信息用于强制重新计算表或索引视图的查询优化统计信息。查询优化统计信息会自动重新计算,但在某些情况下,查询可能会因更频繁地更新这些统计信息而受益。

请注意,重新计算查询统计信息会导致重新编译查询。这可能会或可能不会否定您通过调用更新统计信息可能获得的所有性能提升。事实上,它可能会对性能产生负面影响,具体取决于系统的特性。

10.什么是关联子查询?

相关子查询是链接到外部查询的嵌套查询。例如,假设我想找到所有没有输入一周时间的员工。我可以查询 Employee 表以获取他们的名字和姓氏,但我需要查看时间条目表以查看他们是否输入了时间。我不能在这里直接加入,因为我正在寻找时间数据的缺失,所以我会做一个类似这样的相关子查询:

SELECT FirstName, LastName
FROM EMPLOYEE e
WHERE NOT EXISTS (SELECT 1 FROM TimeEntry te
WHERE te.EmpID = e.EmpID
AND te.WeekID = 35)
复制

请注意,内部查询与员工 ID 的外部查询相关,因此使其成为相关子查询。每个外部查询行将评估一次内部查询。

11. SQL Server 支持哪些认证方式?

SQL Server 支持 Windows 身份验证和混合模式。混合模式允许您同时使用 Windows 身份验证和 SQL Server 身份验证来登录您的 SQL Server。请务必注意,如果您使用 Windows 身份验证,您将无法登录。

12. 解释一下您的 SQL Server DBA 经验?

这是很多面试官经常问的一个通用问题。说明您使用过哪些不同的 SQL Server 版本,您对这些实例进行了何种管理。

您在早期项目中的角色和职责对潜在雇主具有重要意义。这是让面试官知道你是否适合你正在面试的职位的答案。

13. 您使用过哪些不同的 SQL Server 版本?

答案取决于您使用的版本,我会说我有使用 SQL Server 7、SQL Server 2000、2005 和 2008 的经验。如果您只使用过某些版本,请诚实地说,记住,没有人会在所有版本上工作,它因人而异。

14. SQL Server 中有哪些不同类型的索引可用?

最简单的答案是“聚集索引和非聚集索引”。还有其他类型的索引可以提及,例如唯一、XML、空间和过滤索引。稍后将详细介绍这些索引。

15. 聚集索引和非聚集索引有什么区别?

在聚集索引中,叶级页是表的实际数据页。当在表上创建聚集索引时,数据页会根据聚集索引键进行相应的排列。一张表只能有一个聚集索引。

在非聚集索引中,叶级页面不包含数据页面,而是包含指向数据页面的指针。一个表上可以有多个非聚集索引。

16. 与 SQL Server 2000 相比,SQL Server 2005 有哪些新功能?

在 SQL Server 2005 中有相当多的更改和增强。这里列出了其中的一些:

  • 数据库分区
  • 动态管理视图
  • 系统目录视图
  • 资源数据库
  • 数据库快照
  • SQL Server 集成服务

支持故障转移群集上的分析服务。

  1. Profiler 能够跟踪分析服务器的 MDX 查询。
  2. 对等复制
  3. 数据库镜像。

17. SQL Server 中的高可用解决方案有哪些,并简要区分一下?

故障转移群集、数据库镜像、日志传送和复制是 SQL Server 中可用的高可用性功能。我建议阅读我的这篇博客,它解释了这 4 个功能之间的区别。

基于场景的 SQL Server DBA 面试问题

18. 如何解决 SQL Server 代理作业中的错误?

在 SSMS 中,在 SQL Server 代理下的对象资源管理器中查找作业活动监视器。作业活动监视器显示实例上所有作业的当前状态。选择失败的特定作业,单击鼠标右键,然后从下拉菜单中选择查看历史记录。

显示作业的执行历史,您可以选择执行时间(如果作业在同一天多次失败)。会有诸如执行该作业所花费的时间和有关发生的错误的详细信息等信息。

19. SQL Server 监听的默认端口号是什么?

1433.

20. SQL Server 中一个数据库可以包含多少个文件?SQL Server 中存在多少种数据文件?单个数据库可以存在多少个这些文件?

  1. 一个数据库最多可以包含 32,767 个文件。
  2. 主要有 2 种类型的数据文件 主要数据文件和次要数据文件
  3. 只要文件总数少于 32,767 个文件,就可以只有一个主数据文件和多个辅助数据文件。

21.什么是DCL?

DCL 代表数据控制语言

22. DCL中使用了哪些命令?

授予、拒绝和撤销。

23. 什么是填充因子?

填充因子是适用于 SQL Server 中的索引的设置。填充因子值确定在创建/重建索引页时将多少数据写入索引页。

24. 默认填充因子值是多少?

默认情况下,填充因子值设置为 0。

25. 您在哪里可以找到默认的索引填充因子以及如何更改它?

查找和更改默认填充因子值的最简单方法是从 Management Studio 中,右键单击 SQL Server,然后选择属性。在服务器属性中,选择数据库设置,您应该会在顶部看到默认填充因子值。

您可以在此处更改为所需的值,然后单击“确定”以保存更改。查看和更改此值的另一个选项是使用。

26.什么是系统数据库,什么是用户数据库?

系统数据库是安装 SQL Server 时安装的默认数据库。基本上,有 4 个系统数据库:Master、MSDB、TempDB 和 Model。为了 SQL 系统的顺利运行,强烈建议不要修改或更改这些数据库。用户数据库是我们创建的用于存储数据并开始处理数据的数据库。

27. 数据库的恢复模式有哪些?

有 3 种可用于数据库的恢复模型。Full、Bulk-Logged 和 Simple 是三种可用的恢复模式。

28. 恢复模式的重要性是什么?

首先,选择恢复模式时要考虑到可以承受的数据丢失量。如果希望数据丢失最少或没有丢失,则选择完整恢复模式是一个不错的选择。

根据数据库的恢复模式,数据库日志文件的行为会发生变化。我建议您阅读有关日志备份和日志文件行为等的更多材料,以深入了解。

29. 什么是复制?

复制是 SQL Server 中的一项功能,可帮助我们发布数据库对象和数据并将其复制(复制)到一个或多个目标。它通常被认为是高可用性选项之一。复制的优点之一是它可以在处于简单恢复模式的数据库上进行配置。

30. 有哪些不同类型的 Replication?为什么要使用它们?

基本上有 3 种复制类型:快照复制、事务复制和合并复制。您选择的复制类型取决于要求和/或试图实现的目标。例如,Snapshot Replication 仅在表内数据变化不频繁且数据量不太大的情况下才有用,例如月度汇总表或产品列表表等。

事务复制在维护诸如销售订单表等事务表的副本时很有用。合并复制在数据流可以来自多个站点的远程/分布式系统的情况下更有用,例如,在促销活动中完成的销售可能不会始终连接到中央服务器的事件。

31. Replication 有哪些不同的组件,它们的用途是什么?

Replication 中的 3 个主要组件是发布者、分发者和订阅者。发布者是出版物的数据源。分发者负责将数据库对象分发到一个或多个目的地。订阅者是复制/复制发布者数据的目的地。

32. 可以在哪些不同的拓扑中配置 Replication?

根据整个复制的复杂性和工作负载,可以在任何拓扑中配置复制。它可以是以下任何一种:

  • 同一 SQL 实例上的发布者、分发者和订阅者。
  • 发布者和分发者在同一个 SQL 实例上,订阅者在一个单独的实例上。
  • 单个 SQL 实例上的发布者、分发者和订阅者。

33. 如果您有权访问 SQL Server,您如何确定 SQL 实例是命名实例还是默认实例?

我会去 SQL Server 配置管理器。在工具的左侧窗格中,我将选择 SQL Server Services,右侧窗格显示安装在该计算机上的所有 SQL Server 服务/组件。如果服务显示为 (MSSQLSERVER),则表明它是默认实例,否则将显示实例名称。

34. SQL Server 中有哪些不同的身份验证模式,如何更改身份验证模式?

SQL Server 有 2 种身份验证模式;Windows 身份验证和 SQL Server 和 Windows 身份验证模式也称为混合模式。

35. SQL Server 2005 和 2008 或 2008 R2 的 Clustering 有什么区别?

在 SQL Server 2005 上,安装 SQL Server 故障转移群集是一个单步过程,而在 SQL Server 2008 或更高版本上,它是一个多步过程。也就是说,在 SQL Server 2005 中,安装过程本身会安装在所有节点上(无论是 2 个节点还是 3 个节点)。在 2008 年或更高版本中,这种情况发生了变化,我们需要在所有节点上单独安装。如果是 2 节点集群,则为 2 次,如果是 3 节点集群,则为 3 次,依此类推。

有经验的 SQL Server DBA 面试问题

36. Active-Passive 和 Active-Active 集群设置是什么意思?

主动-被动集群是一种故障转移集群,其配置方式是在任何给定时间只有一个集群节点处于活动状态。另一个称为被动节点的节点始终在线但处于空闲状态,等待主动节点发生故障,被动节点接管 SQL Server 服务并成为主动节点,之前的主动节点现在正在被动节点。

主动-主动群集是一种故障转移群集,其配置方式使两个群集节点在任何给定时间点都处于活动状态。也就是说,每个节点上始终运行一个 SQL Server 实例;当其中一个节点发生故障时,两个实例仅在一个节点上运行,直到出现故障节点(在修复导致节点故障的问题之后)。然后实例故障转移回其指定节点。

37. 列出设置 SQL Server 故障转移集群的一些要求?

SQL Server 的虚拟网络名称、SQL Server 的虚拟 IP 地址、故障转移群集中每个节点的公共网络和专用网络(也称为 Heartbeat)的 IP 地址、SQL Server 数据和日志文件的共享驱动器、仲裁磁盘和 MSDTC 磁盘。

38. 什么是透明数据加密?

SQL Server 2008 中引入的透明数据加密 (TDE) 是一种机制,您可以通过该机制通过加密保护 SQL Server 数据库文件免受未经授权的访问。此外,TDE 可以保护设置了 TDE 的实例的数据库备份。

39. 通过网络传输数据时,透明数据加密是否提供加密?

不,透明数据加密 (TDE) 在通过通信通道传输期间不会加密数据。

40. Database Mirroring 有哪些运行模式?

数据库镜像以 2 种操作模式运行,即高安全模式和高性能模式。

41. Database Mirroring 的2种操作模式有什么区别(在上面的答案中提到)?

  1. 高安全模式是为了保证 Principal 和 Mirrored 数据库处于同步状态,即事务在两台服务器上同时提交,以确保一致性,但存在/可能存在时间延迟。
  2. 高性能模式是通过不等待镜像数据库提交事务来确保主体数据库运行得更快。如果镜像服务器负载过重,则数据丢失的可能性很小,而且镜像数据库可能会滞后(就与主体数据库保持同步而言)。

42. 设置 Replication 时,是否可以将 Publisher 设置为 64 位 SQL Server,将 Distributor 或 Subscribers 设置为 32 位 SQL Server?

是的,可以在复制环境中进行各种配置。

43. 删除数据库和使数据库脱机有什么区别?

删除数据库将数据库连同物理文件一起删除,除非您有数据库备份,否则无法恢复数据库。当您使数据库脱机时,该数据库对用户不可用,它不会被物理删除,它可以重新联机。

44. 自动增长数据库设置哪个好?

以 MB 的倍数设置自动增长比以百分比 (%) 设置自动增长更好。

45. SQL Server 2008 中引入了哪些不同类型的数据库压缩?

行压缩和页面压缩。

46. 可以在 SQL Server 中执行哪些不同类型的升级?

就地升级和并行升级。

47. 在 Windows Server 2003 Active - Passive 故障转移集群上,如何找到活动节点?

使用集群管理器,连接到集群并选择SQL Server 集群一旦您选择了 SQL Server 组,在控制台的右侧,“所有者”列会为我们提供 SQL Server 组当前处于活动状态的节点的信息。

48. 如何打开集群管理器?

从开始 -> 运行并键入 CluAdmin(不区分大小写),然后会显示集群管理员控制台,或者您也可以转到开始 -> 所有程序 -> 管理工具 -> 集群管理员。

49. 由于正在进行一些维护,故障转移群集上的 SQL Server 需要关闭。如何关闭 SQL Server?

在 Cluster Administrator 中,rick 单击 SQL Server Group,然后从弹出菜单项中选择 Take Offline。

50. 在 SQL Server 中创建数据库的方法有哪些?

  • 1.T-SQL;创建数据库命令。
  • 2. 使用管理工作室
  • 3. 恢复数据库备份
  • 4. 复制数据库向导。

51、设置Replication的时候,SQL Server 2005上可以有Distributor,SQL Server 2008的Publisher吗?

不,您不能在发布者之前的版本上拥有分发者。


原文标题:SQL Server DBA Interview Questions

原文链接:https://mindmajix.com/sql-server-dba-interview-questions

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论