数据库系列之数据库管理(1)

数据库分类

 

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
ONprimary ]
(
      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:\Systop\DB\Systop.mdf,--主数据文件的物理路径
   size=3mb, --主数据文件的初始大小
   maxsize=unlimited, --主数据文件的最大值
   filegrowth=10%  --主数据文件的增长率
)
log on
(  /*以下是日志文件的属性*/
   name=‘Systop_log, --日志文件的逻辑名称
   filename= ‘E:\Systop\DB\Systop_log.ldf,  --日志文件的物理路径
   size=1mb,  --日志文件的初始大小
   filegrowth=10%  --日志文件的增长率
)
go

--创建实例二:主数据文件+次数据文件+日志文件
create database Systop
on  primary
(  /*以下是主数据文件的属性*/
   name=‘Systop, --主数据文件的逻辑名称
   filename=‘E:\Systop\DB\Systop.mdf,--主数据文件的物理路径
   size=3mb, --主数据文件的初始大小
   maxsize=unlimited, --主数据文件的最大值
   filegrowth=10%  --主数据文件的增长率
),
(/*以下是次要数据文件的属性*/
   name=‘Systop_sec1’, --次要数据文件的逻辑名称
   filename= ‘E:\Systop\DB\Systop_sec1.ndf,  --次要数据文件的物理路径
   size=3mb, --次要数据文件的初始大小
   filegrowth=10% --次要数据文件的增长率
)
log on
(  /*以下是日志文件的属性*/
   name= ‘Systop_log, --日志文件的逻辑名称
   filename= ‘E:\Systop\DB\Systop_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 文件组名,文件组属性

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。