SqlServer用户权限
设置权限用户的意义
数据库是一个应用程序,运行起来对应一个进程,这个进程中,有很多很强大的功能支持,对于开发者或者是数据库管理者,都是充分的来应用这些功能,应用这些功能,需要客户端/或者是应用程序链接进来,通过客户端/应用程序来操作数据库。操作客户端来使用数据库功能的最终是人在使用。 为了保证数据库的安全性,必须对于数据库操作者有不同的权限控制。
SqlServer登录方式
1、Windows 身份验证方式 ,
Windows 身份验证方式,该用户具备最高权限,仅能SQLSERVER安装所在的服务器登录; 2、SqlServer身份验证方式:
SQLSERVER 身份验证方式(sa用户),一般会授予该用户最高权限,可以在同一网络环境下的任何电 脑上登录。 出于这样或那样的原因,有时需要对外开放接口,给对方一个账号,又希望限制对方访问 操作权限的时候,就需要设置权限用户。
系统数据库
SQL Serve2016有四个系统数据库,它们分别是:master数据库、tempdb数据库、model数据库和msdb数据库。
1、master数据库
在master数据库的系统表中,记录了SQL Server系统级的信息,这些信息包括所有的登录账号、系统配置信息、所有数据库的信息、所有用户数据库的主文件地址等。
2、tempdb数据库
该系统数据库主要用于存放所有连接到系统的用户的临时表和临时存储过程,以及SQL Server所产生的其他临时性的对象。几乎所有的查询都可能需要使用它。但是,在SQL Server关闭时,tempdb数据库中的所有对象都将被删除,而在每次启动SQL Server时,tempdb数据库又会被重新创建。
3、model数据库
这是一个模板数据库,model数据库就相当于一个模子,所有在系统中创建的新数据库的内容,在刚创建的时候都和该数据库一模一样。因此可以说,model数据库是系统所有数据库的模板。
注意:因为SQL Server每次在重新启动的时候都将以该数据库为模板重新来创建tempdb数据库,所以删除model数据库,将会使SQL Server系统无法使用。也不能在model数据库中进行添加文件或文件组、更改排序规则、删除数据库所有者、删除数据库、删除主文件组、主数据文件或日志文件等操作。
4、msdb数据库
msdb数据库是SQL Server代理用来安排报警、作业并记录操作员的一个系统数据库,该数据库常用来通过调度任务排除故障。
SqlServer基本操作
物理文件的类型有:
- 主数据文件(扩展名为.mdf):当有多个数据库文件时,有一个文件被定义为主数据库文件(简称为主文件),其扩展名为mdf;主数据库文件用来存储数据库的启动信息以及部分或者全部数据,是所有数据库文件的起点,
包含指向 它数据库文件的指针。一个数据库只能有一个主数据库文件。
- 次数据文件(扩展名为.ndf):一个用于存储主数据库文件中未存储的剩余数据和数据库对象,一个数据库可以没有辅助数据库文件,但也可以同时拥有多个辅助数据库文件。辅助数据库文件的扩展名为ndf(简称为辅助文件)
- 事务日志文件(扩展名为.ldf):存储数据库的更新情况等事务日志信息 ,当数据库损坏时,管理员使用事务日志恢复数据库。每一个数据库至少必须拥有一个事务日志文件,而且允许拥有多个日志文件。事务日志文件的扩展
名为ldf,日志文件的大小至少是512KB。 SQL Server事务日志采用提前写入的方式 。
CREATE DATABASE 数据库名 // 创建一个数据库【create database】
[ON
{ [PRIMARY] (NAME = 逻辑文件名,
FILENAME = ‘物理文件名’
[ , SIZE = 文件初始大小]
[ , MAXSIZE = {文件最大大小| UNLIMITED } ]
[ , FILEGROWTH = 自动增量] )
} [ , … n]
]
[LOG ON
{ ( NAME = 逻辑文件名,
FILENAME = ‘物理文件名’
[ , SIZE = 文件初始大小]
[ , MAXSIZE = { 文件最大大小 | UNLIMITED } ]
[ , FILEGROWTH = 自动增量] )
} [ , … n]]
-
- [,…n]表示重复前面的内容;
- 用< >括起来表示在实际编写语句时,用相应的内容替代;
- 用{ }括起来表示是必选的;
- 类似A|B的格式,表示A和B只能选择一个,不能同时都选。
创建数据库(举例)
例1:使用CREATE DATABASE创建一个student数据库,所有参数均取默认值。 创建一个Student1数据库,该数据库的主文件逻辑名称为Student1_data,物理文件名为Student1.mdf,初始大小为10MB,最大尺寸为无限大,增长速度为10%;数据库的日志文件逻辑名称为 Student1_log,物理文件名:student1.ldf,初始大小为1MB,最大尺寸为5MB,增长速度为1MB。
// ON [PRIMARY]是表示表是建立在主文件组上。PRIMARY表示主文件组。如果没有指定默认文件组,则主文件组是默认文件组,ON [PRIMARY]也可以省略掉了。
CREATE DATABASE Student1 ON PRIMARY // 创建名字为Student1的数据库
(NAME = ‘Student1_data’, // NAME = 逻辑文件名
FILENAME = 'D:\ Student1.mdf ',
SIZE = 10MB, // , SIZE = 文件初始大小
FILEGROWTH = 10%) // FILENAME: 物理文件名 SIZE:文件初始大小 FILEGROWTH:自动增量
LOG ON
(NAME ='Student1_log ', // NAME = 逻辑文件名
FILENAME = 'D:\ Student1.ldf ', // FILENAME = ‘物理文件名’
SIZE = 1MB, // SIZE = 文件初始大小
MAXSIZE=5MB, // MAXSIZE = { 文件最大大小 | UNLIMITED 【无限的】 }
FILEGROWTH = 1MB ) // FILEGROWTH = 自动增量
可视化【SSMS】创建数据库
查看系统生成的sql语言
GO
/****** Object: Database [Student1] Script Date: 2022/9/12 21:00:47 ******/
CREATE DATABASE [Student1]
CONTAINMENT = NONE
ON PRIMARY
( NAME = N'Student1',
FILENAME = N'D:\SqlServer\MSSQL13.SQLSERVER\MSSQL\DATA\Student1.mdf' ,
SIZE = 10240KB , MAXSIZE = UNLIMITED,
FILEGROWTH = 10%)
LOG ON
( NAME = N'Student1_log',
FILENAME = N'D:\SqlServer\MSSQL13.SQLSERVER\MSSQL\DATA\student1.ldf' ,
SIZE = 1024KB ,
MAXSIZE = 5120KB ,
FILEGROWTH = 1024KB )
GO
SQL SERVER 数据库存储结构
数据库在存储结构上分为物理存储结构和逻辑存储结构。
- 物理存储结构——数据库在磁盘上是以文件为单位存储的,由数据库文件和事务日志文件组成,一个数据库至少应该包含一个数据库文件和一个事务日志文件。
- 逻辑存储结构——SQL Server的数据库在逻辑上是由诸如表、视图、索引等各种不同的数据库对象所组成。
使用系统存储过程查看
1)sp_helpdb
此命令可以查看所有数据库的信息
![](https://i-blog.csdnimg.cn/blog_migrate/7d52a805896e2a33acaa3d68d6427c46.png)
sp_helpdb 数据库名
查看指定数据库的信息
![](https://i-blog.csdnimg.cn/blog_migrate/ef7492acd7bb38fb871128b921850147.png)
数据库维护
在数据库的运行过程当中,为了保证数据库的安全,有时需要对数据库进行一些特殊的管理,例如备份与转移到另外的物理介质上等等。要想将数据及事务日志文件转移到其他介质中,首先需要分离数据库,使数据库文件与系统处于一种完全断开状态,才能进行数据库文件的转移。
当需要将分离出来的数据库文件复制到新数据库对象时,可以通过系统中的附加功能使之建立与该管理系统的链接,使用户可以通过管理器来访问和使用数据库。
注意:分离数据库要确保:
(1)确定没人在使用此数据库;
(2)确定数据库里没有未完成的任务
分离数据库
![](https://i-blog.csdnimg.cn/blog_migrate/744f9732ee17e475bf757dd41c982a12.png)