数据库分类
1 系统数据库:Master, model, tempdb, msdb
Master数据库:存储SQL Server系统的所有系统级信息。包括:登录帐户、连接服务器和系统配置设置;master数据库记录所有其他数据库及这些数据库文件位置、大小、数据表的相关信息;还记录SQL Server的初始化信息。如果master数据库不可用,则SQL Server无法启动。
Model数据库:提供了SQL Server创建所有数据库的模板。
Msdb数据库:主要被SQL Server代理用于进行复制、作业调度以及管理警报等活动,该数据库通常用于调度任务或排除故障。
Tempdb数据库:为SQL Server所有用户提供可共用的全局资源,它保存所有临时表和临时存储过程。每次启动SQL Server是都会重新创建tempdb数据库。
2 用户数据库
数据库文件
主数据文件 master data file(.mdf):包含数据库的启动信息,并指向数据库中的其他文件。用户数据和对象存储在该文件中。
次(节点)数据文件 node data file(.ndf):可选文件,用于保存数据。用于将数据分散存储到多个磁盘中,每个数据库可以有多个次数据文件。
事务日志文件log data file(.ldf):用于记录对数据库的各种操作情况。
一个数据库至少应该有一个主数据文件和一个事务日志文件,可以有多个节点数据文件和多个日志文件。
逻辑名称:指定数据库文件和事务日志文件,默认情况下数据库文件的文件名与数据库名称一样,而事务日志文件的文件名默认是一个“_log”,但是这两个文件的文件名都可以直接修改。
文件类型:区别当前文件是数据文件还是日志文件。
文件组:显示当前数据库文件所属文件组,一个数据库文件只能存在一个文件组中。
初始化:指定文件的初始化大小,数据库文件默认为3MB,日志文件默认1MB,也可以根据实际情况修改。
自动增长:随着时间的推移,数据内容越来越多,就需要不断的分配空间。可设置不同的自动增长方式。(讲解两者的区别)
路径:指定文件存放位置。默认情况下,SQL Server将存放路径设置为安装目录下的data子目录
数据库管理方式
- SQL Server Management studio
- SQL语句
数据库管理
1 创建
--创建语法格式 CREATE DATABASE databasesName ON [ primary ] ( name ='databases_data',--表示数据库文件的逻辑名 filename =‘路径databases_data.mdf’,--表示数据库文件的物理文件名 size =XXmb,--表示数据库文件的初始大小 maxsize=XXmb,--表示数据库文件的最大大小 filegrowth=xx--表示数据库文件的增长速度 ) [ log on ] ( name ='databases_log',--表示日志文件的逻辑名 filename =‘路径databases_log.ldf’,--表示日志文件的物理文件名 size =XXmb,--表示日志文件的初始大小 maxsize=XXmb,--表示日志文件的最大大小 filegrowth=xx--表示日志文件的增长速度 )
--创建实例一:主数据文件+日志文件 create database Systop on primary ( /*以下是主数据文件的属性*/ name=‘Systop', --主数据文件的逻辑名称 filename='E:SystopDBSystop.mdf',--主数据文件的物理路径 size=3mb, --主数据文件的初始大小 maxsize=unlimited, --主数据文件的最大值 filegrowth=10% --主数据文件的增长率 ) log on ( /*以下是日志文件的属性*/ name=‘Systop_log', --日志文件的逻辑名称 filename= 'E:SystopDBSystop_log.ldf', --日志文件的物理路径 size=1mb, --日志文件的初始大小 filegrowth=10% --日志文件的增长率 ) go --创建实例二:主数据文件+次数据文件+日志文件 create database Systop on primary ( /*以下是主数据文件的属性*/ name=‘Systop', --主数据文件的逻辑名称 filename='E:SystopDBSystop.mdf',--主数据文件的物理路径 size=3mb, --主数据文件的初始大小 maxsize=unlimited, --主数据文件的最大值 filegrowth=10% --主数据文件的增长率 ), (/*以下是次要数据文件的属性*/ name='Systop_sec1’, --次要数据文件的逻辑名称 filename= 'E:SystopDBSystop_sec1.ndf', --次要数据文件的物理路径 size=3mb, --次要数据文件的初始大小 filegrowth=10% --次要数据文件的增长率 ) log on ( /*以下是日志文件的属性*/ name= 'Systop_log', --日志文件的逻辑名称 filename= 'E:SystopDBSystop_log.ldf‘, --日志文件的物理路径 size=1mb, --日志文件的初始大小 filegrowth=2MB --日志文件的增长率 ) go
2 判断数据库是否存在
系统自带master系统数据库,sysdatabases 是其中一个系统数据表,存放所有数据库的一些信息。 use master Select * from sysdatabases
3 删除数据库
--语法 Drop database 数据库名 --实例一 Drop database Systop --实例二:正确的删除数据库方式 use master --设置当前数据库为master go if exists (select * from sysdatabases where name='Systop') drop database Systop
使用SQL Server数据库管理系统删除
删除后,数据库文件也一并删除。
4 修改数据库
ALTER DATABASE databasesName
ADD FILE <文件格式> [TO FILEGROUP 文件组名]
| ADD LOG FILE <文件格式>
| REMOVE FILE 逻辑文件名
| ADD FILEGROUP 文件组名
| REMOVE FILEGROUP 文件组名
| MODIFY FILE <文件格式>
| MODIFY FILEGROUP 文件组名,文件组属性