人人范文网 范文大全

SQLSERVER重要复习资料

发布时间:2020-03-04 01:41:51 来源:范文大全 收藏本文 下载本文 手机版

第一章:概述

SQL Server体系结构:

1、主要的服务及其作用

四部分组成:数据库引擎(SSDE):是核心服务,负责完成业务数据的存储、处理、查询和安全管理等操作。 分析服务(SSAS):提供多为分析过和数据挖掘功能,可以支持用户建立数据仓库和进行商业智能分析。

报表服务(SSRS):为用户提供了支持Web的企业级的报表功能。

集成服务(SSIS):是一个数据集成平台,可以完成有关数据的提取、转换、加载等。

服务以windows服务程序的形式后台运行。

服务与前台管理工具(management studio)之间的关系:MS是Sql Server提供的一种集成 环境,将各种图形化工具和多功能的脚本编辑器组合在一起,完成访问、配置、控制、管理 和开发SQL Server 的所有工作,大大方便了技术人员和数据库管理员对SQL Server的各种 访问。

2、数据库对象

系统数据库有:master、model、msdb,Resource、tempdb。

Master:是最重要的系统数据库。它记录了SQL Server系统级的所有信息,这些系统级的信息包括服务器配置信息、登录账户信息、数据库文件信息、SQL Server初始化信息等,这些信息影响整个SQL Server系统的运行。

Model:是一个模板数据库。该系统存储了可以作为模板的数据库对象和数据。当创建用户数据库时,系统自动把该数据库中的所有信息复制到用户新建的数据库中,使得新建的用户数据库初始状态下具有了与model数据库一致的对象和相关数据,从而简化数据库的初始创建和管理操作。

Msdb:是与SQL ServerAgent服务有关的数据库。该数据库记录有关作业、警报、操作员、调度等信息,这些信息可以用于自动化系统的操作。

Tempdb:是一个临时数据库,用于存储查询过程中所使用的中间数据或结果。

Resource:是一个很特殊的系统数据库,是一个被隐藏的只读的物理系统数据库,只保存用户实例所需的架构和存储过程。

数据库对象是指存储、管理和使用的不同结构形式。

数据库对象包括:表、视图、同义词、存储过程、函数、触发器、程序集、类型、规则、默认值等。

表:实际用来存储系统数据和用户数据,是整个系统的最核心的数据库对象,是其他大多数数据库对象的基础。

视图:包含了数据库中的视图对象,是数据库中的虚拟表。视图是建立在表基础之上的数据库对象。

约束:“约束”节点包含约定对象。约定用于定义应用程序完成特定任务时所用的信息类型。

用户:是指数据库用户,是数据库级的主体。这些数据库用户对象可以在“用户”节点中找到。

存储过程:节点包含了数据库中存储过程对象的信息。存储过程是指封装了可重用代码的模块或例程。

触发器:是一种特殊的存储过程,在数据库服务器中发生指定的事件后自动执行。分为DML触发器和DDL触发器。

3、SQL Server配置管理器 可以查看所有服务及其运行状态,可以查看服务的属性,以及启动、停止、暂停、重新启动响应的服务。

第二章

sql server版本

1·32位版本,64位版本

2·服务器版本,专业版本(满足特殊服务)

3·服务器版包括企业版和标准版;专业版包括开发人员版、工作组版、WEb版、EXPRESS版、compact版;另外还有企业评估版。

实例

sql server允许在一台计算机上多次安装,每一次安装都生成实例。这种多实例基址,当某实例发生故障时,其他实例依然正常运行并提供数据库服务,确保整个应用系统始终处于正常状态,提高系统可用性。工作组版本最多可安装16个实例,其他版本最多可安装50个实例。第一次安装可以使用默认实例,后来的安装需要使用命名实例。

排序规则

排序规则指定了表示数据集中每一个字符的位模式,具体内容包括选择字符集、确定数据排序和比较的规则等。排序规则的主要特征是区分语言、区分大小写、区分重音、区分假名以及区分全角半角。

可以在四个层面设置排序规则,服务器层、数据库层、列层和表达式层。 服务器层的排序规则可以在安装过程中设置的,也是实例的默认排序规则,会自动分派给其他对象。

创建数据库的时候可以使用collate子句来指定数据库的默认排序规则。

创建表的时候也可以用collate子句来指定数据库的默认排序规则。

表达式层次上的排序规则只能在执行语句时设置,并且影响当前结果集的返回方式。

文件夹

安装之后sql server有五个文件夹。即80,90,100,MSAS10.MSSQLSER,MSRS10.MSSQLSERh和MSSQL10.MSSQLSERVER.

80和90文件夹中包含了与先前版本兼容的信息和工具,100文件夹中主要是存储单台计算机上的所有势力使用的公共文件和信息。

服务器选项

sql server有60多个服务器选项。有高级选项,这些选项只有show advanced option 设置为1时,才能对其进行设置。有些是新设置只有当数据库引擎重新启动之后才能生效。有些是子配置选项,系统根据需要自动配置。

根据设置后是否立即生效可以讲分为动态选项和非动态选项。动态选项是设置完选项后,运行 reconfidure语句就可生效,非动态选项是设置完选项之后必须停止和重新启动sql server才能起作用。

sp_configure sp_configure系统存储过程可以用来显示和配置服务器的各种选项。 语法格式:sp_configure „option_name‟,‟value‟

option_name表示服务器的选项名称,value表示服务器选项的设置,默认是控制。 成功执行返回0,否则返回1。

第三章

SQL SERVER 2008的数据安全层次 第一层:网络设置

第二层:登录服务器

第三层:登录后进行特定数据库访问或服务器管理 第四层:对数据库中特定表或列进行访问

1、Windows认证模式:只能使用“windows 身份验证”一种方式

混合认证模式:可以使用“windows身份验证”和“SQL Server身份验证”两种方式 创建登录名:create login peter with paword=‟123‟ 修改登录名:alter login peter disable ----不可用 Alter login peter enable

-----启用

删除登录名:drop login peter

2、登录名的作用和类型是什么?

答:可登录sql server服务器,并对其进行管理的用户。所有login用户的信息存储在系统表 中,是sql server系统级的用户。

windows组或windows用户映射到登录名

SQL Server自己的登录名

3、服务器角色的作用和类型是什么?

答:固定服务器角色是服务器级别的主体,它们的作用范围是整个服务器。固定服务器角色已经具备了执行指定操作的权限,可以把其他登录名作为成员添加到固定服务器角色中,这样该登录名可以继承固定服务器角色的权限。 Bulkadmin:块数据操作员,拥有执行块操作的权限

Dbcreator:数据库创建者,拥有创建数据库的权限 Diskadmin:磁盘管理员,拥有修改资源的权限

Proceadmin:进程管理员,拥有管理服务器连接和状态的权限

Securityadmin:安全管理员,拥有执行修改登录名的权限

Serveradmin:服务器管理员,拥有修改断点、资源、服务器状态的呢过权限 Setupadmin:安装程序管理员,拥有修改连接服务器权限

Sysadmin:系统管理员,拥有操作SQL Server 系统的所有权限 Public:公共角色,没有预先设定的权限

4、什么是数据库用户?数据库用户与登录名之间的关系是什么? 答:数据库用户,能够访问、操作数据库的用户,是数据库级的用户

服务器登录名属于某组服务器角色;服务器登录名需要于数据库的用户映射后才拥有操作数据库的权限 ;数据库用户属于某组数据库角色以获取操作数据库的权限 。 创建数据库用户:create user peter1 for login peter 修改数据库用户:alter user peter1 with name=’petera’ 修改数据库用户权限:grant(revoke)

connect to peter1 删除数据库用户:delete user peter1;

数据库角色 :role 操作同上

5、数据库中有哪些特殊的用户?这些用户的作用是什么?

答:(1)固定数据库角色。固定数据库角色是在数据库级别定义的,并且存在于每个数据库中。db_owner 和 db_securityadmin 数据库角色的成员可以管理固定数据库角色成员身份;但是,只有 db_owner 数据库的成员可以向 db_owner 固定数据库角色中添加权限。

(2)public角色。每个数据库用户都属于 public 数据库角色,当尚未对某个用户授予或拒绝对安全对象的特定权限时,则该用户将继承授予该安全对象的 public 角色的权限。

(3)特殊的数据库用户:Dbo:Dbo数据库中的默认用户,拥有在数据库中操作的所有权限,默认情况下,SA登录名在数据库对应的是dbo。guest用户一个特殊的数据库用户,默认情况下,数据库创建时就包含一个 guest 用户。授予 guest 用户的权限由在数据库中没有帐户的用户继承。

6、数据库的默认架构是什么?

答:架构是形成单个命名空间的数据库实体的集合,是数据库级的对象,是数据库对象的容器。每个用户都有一个默认架构,用于指定服务器在解析对象的名称时将要搜索的第一个架构。可以使用 CREATE USER 和 ALTER USER 的 DEFAULT_SCHEMA 选项设置和更改默认架构。如果未定义 DEFAULT_SCHEMA,则数据库用户将把 DBO 作为其默认架构。 Sql server完全限定的对象名称现在包含四部分:server.database.schema.object。

7、为什么要实现用户和架构分离?

答:

1、多个用户可以通过角色成员身份或 Windows 组成员身份拥有一个架构。这扩展了允许角色和组拥有对象的用户熟悉的功能。

2、极大地简化了删除数据库用户的操作。

3、删除数据库用户不需要重命名该用户架构所包含的对象。因而,在删除创建架构所含对象的用户后,不再需要修改和测试显式引用这些对象的应用程序。

4、多个用户可以共享一个默认架构以进行统一名称解析。

5、开发人员通过共享默认架构可以将共享对象存储在为特定应用程序专门创建的架构中,而不是 DBO 架构中。

8、权限的授予(grant)与回收(revoke)、

grant select

on table to peter1;

Grant control on table to

peter1 with grant option;

把安全对象BOOK的CONTROL权限授予主体peter1,并且peter1具备授权的权限;

下面以peter身份登录,在library数据库下,peter登录用户可对tom授予对BOOK表的任何权限。

GRANT SELECT,UPDATE ON BOOK TO tom1 .权限的否定

安全主体可以通过两种方式获得权限,第一种方式直接使用GRANT语句为其授予权限,第二种方式通过加入角色成为角色成员继承得到权限。使用REVOKE语句只能收回安全主体通过第一种方式(grant)得到的权限,而否定(DENY)权限则可彻底删除安全主体得到的权限。 第四章

数据库文件和文件组

一个数据库可以由多个事务日志文件和多个数据文件构成,至少应由一个事务日志文件和一个数据文件构成。

数据文件:存储数据和各种对象以及数据的结构。 主数据文件(必须具备):*.mdf,本数据库的系统表都保存在主数据文件中,只能有一个

次数据文件:*.ndf,可以没有或有多个次要数据文件 同一个数据库的不同的数据文件可以存储在不同的磁盘上。

日志文件

记录了每一个事务的开始、对数据的改变和修改等信息,随着数据库的操作,事务日志不断增加,是数据库进行恢复的重要依据。

*.ldf,一个数据库可以有多个。

sql server遵循先写日志后修改数据库的原则,所以如果日志文件空间被占满,将导致无法对数据库进行操作。

文件组

数据文件的逻辑集合,是对数据文件进行分类管理的逻辑单位,方便数据的管理与分配,一个数据文件只能属于一个文件组。

文件组的分类:

1·主文件组:primary ,主数据文件默认属于主文件组

2·用户定义的文件组:由用户命名定义的文件组

3·默认文件组:数据文件在不指定文件组归属时,默认所属于的文件组

页:

SQL Server 中数据存储的基本单位是页,8k,实际存储空间为8060字节。 表中一行数据不能跨页存放,意味着一行数据的最大值为8060字节。

区(盘区):

8个连续的页,是空间分配的最小单元,区是八个物理上连续的页的集合,用来有效地管理页。所有页都存储在区中

六、优化数据库和数据库文件 1.放置数据文件和日志文件

尽可能把数据文件分散在不同的磁盘驱动器上

把数据文件和日志文件分散在不同的物理磁盘驱动器中

好处:允许系统执行并行操作,从而提高系统使用数据的效率 2.使用文件组

表和索引应分布在不同的文件组中,提高查询语句效率。

把默认文件组改成用户定义的文件组,以防止用户数据在primary文件组上的增长。 可备份或恢复单个文件或文件组。

3.使用RAID技术

(Redundant Array of Independent Disks)冗余磁盘阵列

是一种磁盘系统,多个磁盘驱动器合成一个磁盘阵列。提高数据存储的性能、可靠性。分为6个等级RAID0到RAID5。每一种提供不同的算法提高系统的性能。

七、数据库的创建

以下示例在 SQL Server 实例上创建了一个数据库。该数据库包括一个主数据文件、一个用户定义文件组和一个日志文件。主数据文件在主文件组中,而用户定义文件组包含两个次要数据文件。ALTER DATABASE 语句将用户定义文件组指定为默认文件组。然后通过指定用户定义文件组来创建表。

USE master; GO -- Create the database with the default data -- filegroup and a log file.Specify the -- growth increment and the max size for the -- primary data file.CREATE DATABASE MyDB ON PRIMARY

( NAME=\'MyDB_Primary\', --逻辑文件名

FILENAME= \'c:\\Program Files\\Microsoft SQL Server\\MSSQL.1\\MSSQL\\data\\MyDB_Prm.mdf\', --物理文件名

SIZE=4MB,

MAXSIZE=10MB,

FILEGROWTH=1MB), FILEGROUP MyDB_FG1

( NAME = \'MyDB_FG1_Dat1\',

FILENAME =

\'c:\\Program Files\\Microsoft SQL Server\\MSSQL.1\\MSSQL\\data\\MyDB_FG1_1.ndf\',

SIZE = 1MB,

MAXSIZE=10MB,

FILEGROWTH=10%),

( NAME = \'MyDB_FG1_Dat2\',

FILENAME =

\'c:\\Program Files\\Microsoft SQL Server\\MSSQL.1\\MSSQL\\data\\MyDB_FG1_2.ndf\',

SIZE = 1MB,

MAXSIZE=10MB,

FILEGROWTH=1MB) LOG ON

( NAME=\'MyDB_log\',

FILENAME =

\'c:\\Program Files\\Microsoft SQL Server\\MSSQL.1\\MSSQL\\data\\MyDB.ldf\',

SIZE=1MB,

MAXSIZE=10MB,

FILEGROWTH=1MB); GO

ALTER DATABASE MyDB

MODIFY FILEGROUP MyDB_FG1 DEFAULT; GO

-- Create a table in the user-defined filegroup.USE MyDB; go CREATE TABLE MyTable

( cola int PRIMARY KEY,

colb char(8) ) ON MyDB_FG1; GO

八、附加与分离数据库

可以分离数据库的数据和事务日志文件,然后将它们重新附加到同一或其他 SQL Server 实例。如果要将数据库更改到同一计算机的不同 SQL Server 实例或要移动数据库,分离和附加数据库会很有用。

分离数据库:分离数据库是指将数据库从 SQL Server 实例中删除,但是数据库在其数据文件和事务日志文件中保持不变。 (1)使用系统存储过程

EXEC sp_detach_db \'mydb\', \'true\'

附加数据库:附加数据库时,所有数据文件(MDF 文件和 NDF 文件)都必须可用。 EXEC sp_attach_db

\'mydb\',

\'c:\\Program Files\\Microsoft SQL Server\\MSSQL.1\\MSSQL\\data\\MyDB_Prm.mdf‟,

\'c:\\Program Files\\Microsoft SQL Server\\MSSQL.1\\MSSQL\\Data\\mydb.ldf\' ; (2)使用create database 语句 (3)使用对象资源管理器

扩大数据库

如果数据库的数据量不断膨胀,可以根据需要扩大数据库的尺寸。 方式:

1·设置数据库的增长方式。

2·直接修改数据库的数据文件或日志文件的大小。 3·在数据库中增加新的次要数据文件或日志文件。 收缩数据库

如果数据库的设计尺寸太大了,或者删除了数据库中的大量数据,这时数据库会白白浪费大量的磁盘资源。

方式:

1·设置数据库为自动收缩,可以通过设置AUTO_SHRINK数据库选项来实现; 2·收缩整个数据库的大小,可以通过使用DBCC SHRINKDATABASE命令完成 3·收缩指定的数据文件,可以使用DBCC SHRINKNFILE命令实现。

管理文件组

文件组是数据库数据文件的逻辑组合,它可以对数据文件进行管理和分配,以便提高数据库文件的并发使用效率。

T_SQL没有单独提供管理文件组的命令,只能使用ALTER DATABASE语句来提供管理文件组的命令。

新建文件组就是在当前数据库中新建一个数据文件的逻辑组合。 默认文件组是指新增数据库数据文件时,如果没有明确指定,那么该文件将放置在默认文件组中,但是即使有默认文件组,系统表等信息总是放在primary文件组中。

如果文件组的名称不合适,可以修改文件组名称。 如果文件组不再需要了,可以将该文件删除(只有该文件组不再包含数据文件时,才能将该文件组删除)。

RAID技术

独立磁盘冗余阵列;分为六个等级(RAID0到RAID5),每一个等级都是用不同的算法来提高系统的性能。

RAID0是数据并行。这个等级中,所有的数据都并行分布在不同的物理设备上,以便有效执行多个并行的读写操作。

RAID1是设备镜像。设备镜像就是在所有的镜像设备上提供数据的完全复制,提高系统的容错能力。

RAID5是最常用的容错等级。这个等级中,奇偶信息并行存储,既可以提高性能,又可以提高可靠性。 第五章

1、sql server 2008的数据类型

2、标识符分为常规标识符和分割标识符。

标识符的格式规则:第一个字符必须是下划线、@、#、字母、数字 分割标识符:包含在双引号(“”)或方括号([ ])内的标识符

3、运算符

分为算术运算符、逻辑运算符、赋值运算符、字符串串联运算符、按位运算符、一元运算符、比较运算符

字符串串联运算符只有一个,就是(+); 赋值运算符只有一个,就是(=)

4、常量与变量

1)变量的声明:declare @count int ,@name

varchar(10); 2)变量的赋值:set @count=11;set

@name=‘张三’;

3)变量的输出: select @count;或print

Eg:USE AdventureWorks; GO DECLARE @EmpIDVariable int; SELECT @EmpIDVariable = EmployeeID FROM HumanResources.Employee ORDER BY EmployeeID DESC; SELECT @EmpIDVariable; GO

5、内置函数

Len()返回指定字符串表达式的字符数,其中不包含尾随空格。

Eg:len( name ); Left()返回字符串中从左边开始指定个数的字符

eg:select left (‘abcdef’,2)返回最左边的两个字符 year()返回一个整数,该整数表示指定的 date 的年份 eg:

Getdate()返回当前数据库系统时间戳,返回值的类型为 datetime,并且不含数据库时区偏移量

datediff( ) 返回两个指定日期的日期边界数和时间边界数 Datepart cast() convert() @@servername @@language

第十一章

存储过程

存储过程是一个可重用代码模块,可以高效率地完成指定的操作。 a·存储过程的已经在服务器上注册,可以提高T_SQL语言执行效率; b·存储过程可以强制应用程序的安全性,方式SQL嵌入式攻击;

c·存储过程允许模块化设计,大大提高了程序的设计效率; d·存储过程是一组命名代码,允许延迟绑定; e·存储过程可以大大减少网络通信流量。 分类:

用户定义的存储过程。是封装了可重用代码的模块或例程。

用户定义的存储过程分为T_SQL类型的存储过程和CLR类型的存储过程。 T_SQL是指保存在T_SQL语句的集合,可以接受和返回用户提供的参数。

CLR存储过程是对.net framework公共语言运行时方法(CLR)的引用,可以接受和返回用户提供的参数。

特点:

存储过程中的参数的最大数目为 2100。

存储过程中的局部变量的最大数目仅受可用内存的限制。 根据可用内存的不同,存储过程最大可达 128 MB。

系统存储过程

SQL Server 中的许多管理活动都是通过一种特殊的存储过程执行的,这种存储过程被称为系统存储过程。

存储在Resource系统数据库中,并且带有SP前缀。

定义方法:

CREATE PROCEDURE 存储过程名称 参数名 参数数据类型 ...............WITH:procedure_option(用于指定存储过程的特殊行为) AS sql_statement( 该存储过程定义的编程语句)

调用方法:

sql server中,可以使用EXECUTE语句执行存储过程,EXECUTE语句也可以简写为EXEC。如果执行的存储过程需要参数,那么应该存储过程名称后面带上参数值。

触发器

触发器是一种特殊类型的存储过程,它包含了大量的T_SQL语句,但是触发器不能被用户直接调用运行,只能自动执行。

触发器由DBA和程序开发者创建,由用户对表的操作(更新、删除、插入数据)激活。

分类:

DML触发器:当数据库中发生数据操纵语言事件时将调用DML触发器。DML事件包括指定表或视图中修改数据的INSTER语句、UPDATE语句、DELETE语句。

DDL触发器:和DML触发器不同之处是DDL触发器的触发事件是数据定义语言。包括CREATE语句、ALTER语句、DROP语句。DDL触发器的主要作用是执行管理操作。 定义方法:

DML触发器

CREATE TRIGGER trigger_name ON table_name_or_view_name WITH ENCRYTION {FOR

|

AFTER

|

INSTEAD OF }{[DELETE][,][INSERT]..} AS sql_satatemennt

例子

create trigger t_audit_insert on accountdate(表名) with encryption for insert as declare @insertedamount money select @insertedamount= accountamount from inserted insert into

auditaccountdata(audit_log_actiontype ,audit_log_amount) values (\'insert\',@insertedamount)

create trigger t_audit_update on accountdate with encryption for update as declare @insertedamount money if update(accountamount)

begin select @insertedamount= accountamount from inserted insert into

auditaccountdata(audit_log_actiontype ,audit_log_amount) values (\'update\',@insertedamount)

DDL触发器

例子

CREATE TRIGGER safety ON DATABASE FOR DROP_TABLE, ALTER_TABLE AS PRINT \'You must disable Trigger \"safety\" to drop or alter tables!\' ROLLBACK ;

第十二章 备份

数据备份是制作数据库的结构和数据的拷贝,以便在数据库遭到破坏的时候能够恢复数据库。

还原

数据库还原是指加载数据库备份到系统中的进程。

数据库的备份和恢复是相互的。没有数据库的备份,就无法进行数据库的恢复,但恢复工作本身也是一项非常艰巨的工作。(要建立恢复与备份同等重要的概念)

备份和还原时相互的,还原时备份的目的,备份是为了还原而备份不是为了备份而备份。

恢复模式

备份和还原操作是在“恢复模式”下进行的。 类型:

1·简单恢复模式:

在此模式下,数据库会简略地记录大多数事务,所记录的信息只是为了确保在系统崩溃或还原数据备份之后数据库的一致性。 适用于规模较小的或数据不经常改变的数据库;在此模式下,在每个数据备份后事务日志将自动截断,也就是说,不活动的日志将被删除;可通过执行完整数据库备份和增量(差异)备份恢复数据库。

2·完整恢复模式

此模式完整地记录了所有的事务,并保留所有的事务日志记录,直到将它们备份。完整恢复模式能使数据库恢复到故障时间点。但这种恢复模式耗费大量的磁盘空间。

3·大容量日志恢复模式

此模式简略地记录大多数大容量操作(例如,索引创建和大容量加载),完整地记录其他事务。大容量日志恢复提高大容量操作的性能,常用作完整恢复模式的补充。

备份方法

(1)完全(完整)备份

备份数据库中所有的数据和结构,是其他备份方式的基础。 (2)增量(差异)数据库备份

备份自上次完全备份后的改变,完全备份是基础 (3)事务日志备份

备份数据库中事务日志的变化过程。

a·要在完全备份的基础上进行事务日志备份

b·在simple 恢复模型下不能执行事务日志备份 (4)数据库文件或文件组备份

适用于海量数据库,只备份一个或多个文件或文件组。

恢复方法

执行恢复就是把备份内容加载到数据库中的过程。 在备份文件或文件组时,要同时备份事务日志。 恢复:

完整备份是备份当前整个数据库。

增量备份是在当前最近的一次完整备份的基础上附加的完整数据库内容的备份。 事务日志备份是相对于上一次事务日志或者完整备份(之前无事务日志备份)的数据库内容的备份。

SqlServer教学大纲

SQLserver教学

SqlServer教学大纲

sqlserver讲稿

sqlserver分页语句

三下语文复习资料(重要)

中国古代文学复习资料(重要汇总)

小学语文重要复习资料:造句

六年级语文上册期末复习资料(重要)

SQLServer数据库可疑状态解决办法

SQLSERVER重要复习资料
《SQLSERVER重要复习资料.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档