您的位置:首页 > 数据库 > SQL

SQL server学习笔记之数据库启动登陆,创建和维护

2015-12-17 13:46 645 查看
一 熟悉IDE

1.登陆界面



服务器类型:

数据库引擎(sql server)、报表服务(reporting services)、分析服务(analysis services)等,每种服务器类型都有自己的一套独有的系统资源,可以选择一个你所需要的服务。

服务器名称:

服务器名就是登录的服务器名字\实例名 。

如果用本地的服务器登录,那么服务器名为你的计算机名\实例名;如果是远程服务器登录,服务器名是:IP地址\实例名。不填写实例名也是可以,系统会自动命名一个默认实例名,所有类型服务的默认实例名都是“MSSQLSERVER”。一台计算机上最多只有一个默认实例,也可以没有默认实例。

身份验证:

身份验证一共有俩种验证模式:windows身份验证和SQL server身份验证。

2. 数据库的文件和文件组

文件组:

每个数据库有一个主要文件组,此文件组包含主要数据文件和一些次要文件。数据库有且只有一个默认文件组,未分组的文件均放在默认文件组中。

文件:

一个数据库的文件至少有一个数据库主文件 *.mdf 和一个事务日志文件 *.ldf 。

主文件包括包含数据库的启动信息和指向其他库中的文件。次要文件 *.ndf 是可选的,可分布在各个文件组中。

二 数据库的简单操作

数据库的操作可以利用SQL语句或者SSMS来实现。

1.创建数据库

--创建数据库
--mysql是创建的数据库名,PRIMARY是主文件组。如果没有指定默认文件组,则主文件组是默认文件组
USE master
GO
CREATE DATABASE mysql ON PRIMARY
(NAME=N'ssql', --文件名
filename=N'C:\Users\Desktop\ssql.mdf', --文件存储地址
size=5 mb, --文件大小
maxsize=100 mb, --文件大小的最大上限,未指定说明无限制
filegrowth=10% --文件大小增大的增量
),
FILEGROUP newgroup  --添加一个文件组
(NAME=N'nql', --文件名
filename=N'C:\Users\Desktop\nql.ndf', --文件存储地址
size=5 mb, --文件大小
maxsize=unlimited, --无限制
filegrowth=3 mb--文件大小增大的增量
)
log on  --日志文件
(NAME=N'ssql_log',
filename=N'C:\Users\Desktop\ssql_log.ldf',
size=5 mb,
maxsize=100 mb,
filegrowth=2 mb
)
GO
如果想创建一个默认的数据库:create database 数据库名 就可以了。

2.其他相关操作

--添加文件组
ALTER DATABASE [mysql] ADD FILEGROUP [hello]
GO
--向文件组添加文件
ALTER DATABASE [mysql] ADD FILE
( NAME = N'sss',
FILENAME = N'C:\Users\Administrator\Desktop\sss.ndf' ,
SIZE = 3072KB ,
FILEGROWTH = 2048KB
)
TO FILEGROUP [hello]
GO
--删除文件
use mysql
go
alter database mysql remove file new_log
go
--删除文件组,但文件组必须为空
alter database mysql remove filegroup hello
go
--删除数据库,数据库快照必须先删光
USE [master]
GO
ALTER DATABASE [mysql] SET  SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
USE [master]
GO
DROP DATABASE [mysql]
GO

--修改数据库名字
use master
go
alter database mysql modify name=mysql0
go


三 数据库的维护

1.数据库快照

--设置数据库允许快照
alter database mysql set ALLOW_SNAPSHOT_ISOLATION on
go
--指定源数据库文件的逻辑名称,数据库有多少数据文件就必须指定多少次,日志文件不能做快照
use master
go
create database shotbase
on
(name=ssql,
filename=N'C:\Users\Administrator\Desktop\ssql_shot.snp'
)
as snapshot of mysql
go


2.数据库的分离和附加

--分离数据库
USE [master]
GO
ALTER DATABASE [mysql] SET  SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
USE [master]
GO
EXEC sp_detach_db N'mysql'
GO

--附加数据库
USE [master]
GO
CREATE DATABASE [mysql] ON
( FILENAME = N'C:\Users\Administrator\Desktop\ssql.mdf' ),
( FILENAME = N'C:\Users\Administrator\Desktop\ssql_log.ldf' )
FOR ATTACH
GO


3.数据库的备份和还原

--完整备份数据库

BACKUP DATABASE [mysql]
TO  DISK = N'C:\Users\Administrator\Desktop\aaa.bak'
WITH NOFORMAT, INIT,  NAME = N'mysql-完整 数据库 备份', NOREWIND, NOUNLOAD
GO

--在还原数据库之前,校验备份文件的正确性
restore filelistonly from disk=N'C:\Users\Administrator\Desktop\aaa.bak' with file=1

--还原数据库
RESTORE DATABASE [mysql]
FROM  DISK = N'C:\Users\Administrator\Desktop\aaa.bak' WITH  FILE = 1,  NOUNLOAD
GO

--差异备份数据库
BACKUP DATABASE [mysql]
TO  DISK = N'C:\Users\Administrator\Desktop\bbb.bak'
WITH  DIFFERENTIAL , NOFORMAT, INIT, NAME = N'mysql-差异 数据库 备份', NOUNLOAD
GO

--还原数据库
RESTORE DATABASE [mysql]
FROM  DISK = N'C:\Users\Administrator\Desktop\aaa.bak'  --完整备份还原
WITH  FILE = 1,  NORECOVERY,  NOUNLOAD
GO
RESTORE DATABASE [mysql]
FROM  DISK = N'C:\Users\Administrator\Desktop\bbb.bak'  --差异备份还原
WITH  FILE = 1,  NOUNLOAD
GO
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: