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

来源:互联网 发布:lrc歌词编辑软件 编辑:程序博客网 时间:2024/05/23 01:13

一   熟悉IDE

1.登陆界面


服务器类型:

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

服务器名称:

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

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

身份验证:

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


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

文件组:

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

文件:

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

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


二  数据库的简单操作

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

1.创建数据库

--创建数据库--mysql是创建的数据库名,PRIMARY是主文件组。如果没有指定默认文件组,则主文件组是默认文件组USE masterGOCREATE 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 mysqlgoalter database mysql remove file new_loggo--删除文件组,但文件组必须为空alter database mysql remove filegroup hellogo--删除数据库,数据库快照必须先删光USE [master]GOALTER DATABASE [mysql] SET  SINGLE_USER WITH ROLLBACK IMMEDIATEGOUSE [master]GODROP DATABASE [mysql]GO--修改数据库名字use master goalter database mysql modify name=mysql0go


三  数据库的维护

1.数据库快照

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


2.数据库的分离和附加

--分离数据库USE [master]GOALTER DATABASE [mysql] SET  SINGLE_USER WITH ROLLBACK IMMEDIATEGOUSE [master]GOEXEC sp_detach_db N'mysql'GO--附加数据库USE [master]GOCREATE DATABASE [mysql] ON ( FILENAME = N'C:\Users\Administrator\Desktop\ssql.mdf' ),( FILENAME = N'C:\Users\Administrator\Desktop\ssql_log.ldf' ) FOR ATTACHGO

3.数据库的备份和还原

--完整备份数据库BACKUP DATABASE [mysql] TO  DISK = N'C:\Users\Administrator\Desktop\aaa.bak'WITH NOFORMAT, INIT,  NAME = N'mysql-完整 数据库 备份', NOREWIND, NOUNLOADGO--在还原数据库之前,校验备份文件的正确性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,  NOUNLOADGO--差异备份数据库BACKUP DATABASE [mysql] TO  DISK = N'C:\Users\Administrator\Desktop\bbb.bak' WITH  DIFFERENTIAL , NOFORMAT, INIT, NAME = N'mysql-差异 数据库 备份', NOUNLOADGO--还原数据库RESTORE DATABASE [mysql]   FROM  DISK = N'C:\Users\Administrator\Desktop\aaa.bak'  --完整备份还原WITH  FILE = 1,  NORECOVERY,  NOUNLOADGORESTORE DATABASE [mysql] FROM  DISK = N'C:\Users\Administrator\Desktop\bbb.bak'  --差异备份还原WITH  FILE = 1,  NOUNLOAD   GO


0 0