SQL SERVER基础知识,掌握超过15项,可以算是基础比较好的了,月薪能过万了。

1.tempdb和master数据库无法删除或者关闭

2.tempdb无法被还原,master数据库必须以单用户模式启动整个服务器才能还原

3.元数据包括信息架构视图、系统函数、动态管理视图、复制视图、系统视图、系统存储过程、目录视图,兼容性视图

4.应用程序和数据库引擎进行通信的协议有Shared Memory、Named Pipes、TCP/IP和Virtual Interface Adapter(VIA)

5.协议层公开的API使用Microsoft定义的TDS(表格格式数据流)包格式进行通信

6.查询处理器包括命令解析器和查询优化器

7.查询优化器基于内存需求、CPU使用率和IO数量来选择代价最小的执行计划

8.查询优化器根据请求语句类型,表中数据量,索引,数据值统计来优化

9.对于复杂请求,优化器不会穷举所有执行计划(那将过于耗时),只找比较合适的,肯定比简单执行性能要好

10.存储引擎包括访问API,事务管理,锁管理和其他特殊操作(比如DBCC,全文索引填充,备份和还原等)

11.事务的隔离级别:未提交读,已提交读,可重复读和串行化,SQL SERVER 2008增加了快照隔离级别

12.事务用来解决并发问题(有点废话),如何避免更新丢失,脏读,不可重复读和幻读需要了解隔离级别

13.默认的隔离级别是已提交读

14.默认隔离级别,事务如果在开始的SELECT语句中,为指定锁类型,则系统默认给共享锁,语句执行完,锁释放

15.默认隔离级别(已提交读),不能避免不可重复读和幻读,所以如果有必要,在SELECT语句中指定独占锁(XLOCK),这样能保证到事务提交后,才释放锁

16.指定可重复读隔离级别,共享锁也会持续到事务提交,不会在语句执行之后就释放

17.锁模式包括共享锁(S),更新锁(U),独占锁(X),意向锁(I),特殊模式(架构稳定锁,架构修改锁,大容量更新锁等),转换锁,键锁。

18.如果在一个有主键的表上,更新一条数据,会有3个锁,表级别的共享锁、页级别的共享锁、该条数据主键的独占锁而不是行级别的锁(查询sys.dm_tran_locks可见)

19.锁粒度,可在表,页,行,键等级别锁定用户数据,系统资源使用闩锁

20.数据量增加,表需要增加容量时,会用到扩展锁。

你可能感兴趣的:(DATABASE)