SQL Server2008编程入门经典阅读笔记(一):概述

时间:2022-03-16 06:23:05

1.安装好Sql Server一定包含以下4个系统数据库:

  • Master:此数据库保存一组特殊表(系统表),用于系统的总体控制。如:在服务器新建一个数据库,则会在Master库中sysdatabases表中会记录该信息;任意的存储过程(扩展的或系统的、同一或不同数据库的)都存储在Master数据库中。总而言之,Master数据库存储的信息是描述服务器信息的。早些时候,需要访问Master库确认新创建的对象是否存在,现在只需要访问sys.objects表即可。
  • model:其他数据库的模板。如果想要修改新建数据库的样式,可以改变model数据库来实现。如:可以向数据库中加入一组审计表或将用户信息复制到每一个新建数据库中。但需要注意:新建数据库的容量要比model容量大。
  • msdb:此数据库是存储SQL Agent任务的地方,如果计划对一数据库每天执行备份计划,则msdb会记录此信息。SSIS程序包和基于策略的管理的定义就是使用msdb的进程实例。
  • tempdb:此数据库是服务器的主要工作区之一。执行一个复杂或大型的操作时,服务器可能需要创建一些中间表来完成,此项工作便是在tempdb库中进行。只要创建临时表、存储临时数据,信息都会保存到tempdb数据库中,但每次关闭服务器时,这些信息都会消亡。

2.SQL Server可能包含一些数据库:

  • ReportServer数据库:只有安装了ReportServer才有,如果ReportServer和数据库不是同一个服务器,需要单独许可认证

3.事务日志:任意数据库的更改起初不会写入数据库本身,而是不断地被写入到事务日志,然后在某个点上,数据库发出检查点,在此时此刻日志中所有更改被写道数据库。

4.用户自定义函数:不能返回的类型有text、ntext、image、cursor和timestamp。

5.用户和角色:用户和角色关系密切。用户(user)相当于登录名,时登录sql server的标识符。登录到sql server的任何人都映射(直接或间接,取决于安全模型)到一个用户。用户一次属于一个或多个角色(Role)。服务器可以赋予用户或角色权限,一个角色可以包含多个用户。

6.全文目录:加速对列中特定文本块的搜索,该列需要启动全文搜索功能。在sql server2008之前,此功能存储在数据库外部,是一个插件需要单独安装。

7.命名:与sql server关键字相同或包含内嵌空格的名称需要使用双引号或中括号[]括起来。只有设置了SET QUOTED_IDENTIFIER ON,双引号才可以作为列名中的分界符。