特点:真正的客户机/服务器体系结构
图形化用户界面
丰富的编程接口工具
与Windows NT完全集成
具有很好的伸缩性
应用场景:
主机为Windows系统,主要应用于web网站的建设,承载中小型web后台数据。
一、启动方式:
三种
1.后台启动
2.sqlserver配置管理器启动
3.在运行窗口使用命令启动
net start mssqlserver
net stop mssqlserver
二、登录验证
1.windows验证
2.账号密码验证
需要先使用windows验证登录后在安全性栏对应角色属性中创建密码,然后就可以使用密码登录了
启动账户
用户映射
允许远程访问
1 右击自己数据库的连接名
三、数据库管理
数据库文件在磁盘上的存储形式
主数据文件:*.mdf (一个库只能有一个)
辅数据文件:*.ndf
日志文件:*.ldf
创建数据库
1.视图创建数据库(默认工具创建)--略
2.sql语句创建
USE master --指向当前使用的数据库 GO --批处理的标志 IF EXISTS(SELECT * FROM sysdatabases WHERE name='E_Market') DROP DATABASE E_Market CREATE DATABASE E_Market --创建E_Market数据库 ON PRIMARY --主文件组 ( NAME='E_Market_data', --主文件逻辑文件名 --主文件物理文件名 FILENAME='D:\project\E_Market_data.mdf', SIZE=5MB, --主文件初始大小 MAXSIZE=100MB, --主文件增长的最大值 FILEGROWTH=15% --主文件的增长率 ) LOG ON --日志文件 ( NAME='E_Market_log', --日志文件逻辑文件名 FILENAME='D:\project\E_Market_log.ldf', --日志物理文件名 SIZE=5MB, --日志文件初始大小 FILEGROWTH=0 --未启用自动增长 ) GO
创建多个数据文件和多个日志文件
USE master GO CREATE DATABASE E_Market ON PRIMARY --主文件组 ( NAME='E_Market_data', FILENAME='D:\project\E_Market_data.mdf', SIZE=10MB, FILEGROWTH=10%, MAXSIZE=500MB ), --第一个文件组结束 FILEGROUP FG --第二个文件组,组名:FG ( NAME='FG_E_Market_data', FILENAME='D:\project\FG_E_Market_data.ndf', SIZE=10MB, FILEGROWTH=0 ) --日志文件不属于任何文件组 LOG ON ( NAME='E_Market_log', FILENAME='D:\project\E_Market_log.ldf', SIZE=5MB, FILEGROWTH=0 ), --日志2的具体描述 ( NAME='E_Market_log1', FILENAME='D:\project\E_Market_log1.ldf', SIZE=5MB, FILEGROWTH=0 ) GO
向现有数据库中添加文件组和数据文件
方法一:
在视图下添加文件组和数据文件
数据库-->属性-->文件组-->添加
数据库-->属性-->文件-->添加
方法二:
使用SQL语句添加文件组和数据文件
USE E_Market --添加文件组FG1 ALTER DATABASE E_Market ADD FILEGROUP FG1 GO --为新建的文件组FG1添加数据文件 ALTER DATABASE E_Market ADD FILE ( NAME='FG1_E_Market_data', FILENAME='D:\project\FG1_E_Market_data.ndf', SIZE=5MB, FILEGROWTH=10% )TO FILEGROUP FG1 GO --将文件组FG1设为默认文件组 ALTER DATABASE E_Market MODIFY FILEGROUP FG1 DEFAULT GO
删除数据库(谨慎)
方法一:
在视图下删除数据库
数据库-->删除-->勾选删除数据库备份和还原历史记录信息和关闭现有连接
方法二:
SQL语句删除数据库
USE master --指向当前所操作的数据库 --删除数据库 DROP DATABASE E_Market GO IF EXISTS(SELECT * FROM sysdatabases WHERE name='E_Market') DROP DATABASE E_Market GO
四、数据库用户管理
1、视图方式
创建数据库登录名
安全性-->右键新建登录名
创建数据库用户
每一个用来登录sqlserver的登录名都是一个用户
数据库-->安全性-->新建用户
用户名再与登录名关联
步骤:
先建登录名
再创建数据库用户
也可以在创建登录名的时候关联到数据库用户(使用用户映射)
为数据库用户赋权
要操作的数据库-->安全性-->用户-->右键属性-->安全对象-->搜索--添加对象、赋权
2、SQL方式创建登录名及为用户赋予权限
#创建登录名 CREATE LOGIN <登录名> WITH PASSWORD=<'密码'> #创建数据库用户 CREATE USER 数据库用户 FOR LOGIN 登录名 #为数据库用户赋予权限 GRANT 操作权限 ON 表名 TO 用户名
示例:
--创建登录名 USE master GO CREATE LOGIN PbMaster WITH PASSWORD='123456' GO --创建数据库用户 USE E_Market GO CREATE USER MasterDBUser FOR LOGIN PbMaster GO --为数据库用户赋权(查看、新增、修改) USE E_Market GO GRANT SELECT,INSERT,UPDATE ON UserInfo_table TO MasterDBUser GO --回收UPDATE权限 USE E_Market GO REVOKE UPDATE ON UserInfo_table TO MasterDBUser GO
角色
服务器角色
使用自定义登录名登录后,默认只有Pubic服务器角色,初始状态时没有权限,所有数据库用户都是其成员。
给数据库用户赋予创建和修改数据库的角色
安全性-->登录名-->右键属性-->服务器角色-->勾选dbcreator角色
数据库用户角色
还有个默认的Pubic数据库角色,特殊的固定的数据库用户,每个数据库用户都数据pubic数据库角色
给自定义数据库用户赋予db_owner数据库角色
要操作的数据库-->安全性-->用户-->右键属性-->常规-->数据库角色成员身份
也可以自定义数据库角色--略
五、数据库的维护
1.数据库状态
1)使用sql语句查看数据库状态
select state_desc from sys.databases where name='E_Market'
2)使用DATABASEPROPERTYEX(database,property)函数
select DATABASEPROPERTYEX('E_Market','status')
3)将数据库设为"脱机"状态(然后就可以复制该数据库文件了)
要操作的数据库-->右键任务-->脱机
2.分离与附加数据库
1)分离数据库
在视图下:
要操作的数据库-->右键任务-->分离
使用存储过程(SQL方式):
EXEC sp_detach_db @dbname=E_Market GO
2)附加数据库
在视图下:
数据库-->右键附加-->添加-->指定主数据文件的名称
使用存储过程(SQL方式):
EXEC sp_attach_db @dbname=E_Market, @filename1='H:\project\E_Market_data.mdf', @filename2='H:\project\E_Market2_data.ndf', @filename3='H:\project\E_Market_log.ldf', @filename4='H:\project\E_Market2_log.ldf' GO
脱机与分离数据库的异同点
相同点:
都可以对数据库文件进行复制
不同点:
脱机:与数据库服务断开连接,但在数据库节点上还存在脱机的数据库名称。
分离:将数据库从服务器上分离出去,数据库不存在,只存在对应的数据文件和日志文件。
3.收缩数据库
删除数据库的每个文件中已经分配但还没有使用的页,收缩后数据库空间自动减少
收缩方式
自动收缩数据库
要操作的数据库-->属性-->选项
手动收缩数据库
要操作的数据库-->右键任务-->收缩数据库
要操作的数据库-->右键任务-->收缩文件
4.数据库的备份与还原
sqlserver提供四种数据库备份方式
1)完整备份:备份整个数据库的所有内容包括事务日志
2)差异备份:只备份上次完整备份后更改的数据部分
3)事务日志备份:只备份事务日志里的内容
4)文件或文件组备份:只备份文件或文件组中的某些文件
备份操作
完整备份
要操作的数据库-->右键任务-->备份
差异备份
先完整备份,再差异备份
还原操作
完整备份还原
数据库-->右键还原数据库
差异备份还原
先还原完整备份(需要做设置,先不回滚)
再还原差异
暂时就到这儿