SQL Sever 2008 R2 数据库(2) ——数据库管理

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

在FJ集团的工作中,要用到SQL Sever 2008 R2 数据库,于是,在工作中学习,在学习中工作。我就喜欢这种状态!中意做笔记,好记性不如烂笔头,方便自己,同时也方便在此方面有需要者!资源共享,共同学习!

一、预备知识提要:

1. 创建数据库需要的权限

至少要拥有:

(1)create database;

(2)create any database;

(3)alter any database

2. 数据库的上限

在同一实例中,最多可以创建32767个数据库,超过则会失败!

3.  数据库文件和文件组

每个SQL Server 2008数据库至少包括2个文件:

(1)数据文件 : 包含的是 数据库的数据和对象。它分为:主要数据文件和次

要数据文件,扩展名分别为 .mdf和.ndf

(2)日志文件 : 包含的是 用于恢复数据库时所需要的信息。它分为:主要日志

文件和次要日志文件,扩展名都为.ldf

技巧:

在默认情况下,数据库的数据文件和日志文件都保存在同一目录下,但这并

不是最佳方案,为了提高存储速度,

强烈建议:

将数据文件和日志文件保存在不同的驱动器上!

文件组

为了方便对数据库文件进行管理,可以将数据库文件集中起来放在文件组中.

每个数据库都有一个主要文件组.该组包括主要数据文件和未放入其他文件组的

所有次要文件。当然用户也可自行定义不同的文件组。

4.  数据库状态

SQL Server 2008数据库永远处于特定的状态中,包括7种状态:

(1)online : 可以对数据进行访问。(在线)

(2)offline: 数据库无法使用。(离线)

(3)restoring : 表示正在还原主文件组的一个或多个文件,或正在离线还原一个

或多个辅助文件,此时数据库不可用。(还原)

(4)recovering : 表示正在恢复数据库。该状态是个暂时性的状态,恢复成功

后,数据库会自动回到在线状态。(恢复)

(5)recovering pending : 此时数据库并未损坏,但很有可能缺少文件。此时

数据库不可用,并等待用户执行操作来完成恢复工作。(恢复等待)

(6)suspect : 表示数据库里的文件组(至少是主文件组)可疑或已经损坏,SQL

Server 2008启动过程无法恢复数据库,此时数据不能使用。(可疑)

(7)emergency : 一般用于故障排除。此时数据库处于单用户模式,可以修复

或还原。数据库标记为只读,并禁用日志记录,只有具备sysadmin服务

器角色的成员才能访问。(紧急)

二、 举例说明

例一: 创建一个数据库,所有的设置采用默认值.

create database 测试数据库

例二: 创建一个数据库,指定数据库的数据文件所在位置.

create database 例二数据库

on

(

name='例二数据库',

filename='d:\DBtest\例二数据库.mdf'

)

例三:创建一个数据库,指定数据库的数据文件所在位置、初始容量、最大容量

和文件增长的数量。

create database 例三数据库

on

(

name='例三数据库',

filename='d:\DBtest\例三数据库.mdf',

size=5MB,

maxsize=10MB,

filegrowth=5%

)

例四: 创建一个数据库,指定数据库的数据文件和日志文件所在位置.

create database 例四数据库

on

(

name='例四数据库数据文件',

filename='D:\DBtest\例四数据库数据文件.mdf',

size=5MB,

maxsize=10MB,

filegrowth=5%

)

log on

(

name='例四数据库日志文件’,

filename='D:\DBtest\例四数据库日志文件.ldf'

)

例五:创建一个数据库,它总共包含五个数据文件和两个自定义的文件组。

create database 例五数据库

on

(

name='例五数据库数据文件1',

filename='d:\DBtest\例五数据库数据文件1.mdf',

size=5MB,

maxsize=10MB,

filegrowth=5%

),(

name='例五数据库数据文件2',

filename='d:\DBtest\例五数据库数据文件2.ndf',

size=5MB,

maxsize=10MB,

filegrowth=5%

),

filegroup 例五数据库数据文件组1

(

name='例五数据库数据文件组1的数据文件',

filename='d:\DBtest\例五数据库数据文件组1的数据文件.ndf',

size=5MB,

maxsize=10MB,

filegrowth=5%

),

filegroup 例五数据库数据文件组2

(

name='例五数据库数据文件组2的数据文件1',

filename='d:\DBtest\例五数据库数据文件组2的数据文件1.ndf',

size=5MB,

maxsize=10MB,

filegrowth=5%

),(

name='例五数据库数据文件组2的数据文件2',

filename='d:\DBtest\例五数据库数据文件组2的数据文件2.ndf',

size=5MB,

maxsize=10MB,

filegrowth=5%

)

log on

(

name='例五数据库日志',

filename='d:\DBtest\例五数据库日志文件.ldf'

)

例六: 创建一个数据库,并指定排序规则。

create database 例六数据库

on

(

name='例六数据库',

filename='d:\DBtest\例六数据库.mdf'

)

collate Chinese_PRC_CI_AS

在使用collate指定排序规则之前,一定要先知道排序规则名。

为何才能知道排序规则名呢?请用下面的SQL语句查询:

select * from ::fn_helpcollations ()

三、修改数据库设置

1. 使用SQL Server Management Studio修改数据库设置

1) 查看数据库的基本信息

【数据库属性】---【 基本】选项页里,可以看到数据库的基本信息。

2) 增加、删除与修改数据库文件

【数据库属性】---【文件】选项页里。

image

重点: 典型案例

例七: 将名为"例二数据库"的数据库改名为"例七数据库"。

方法一:

alter database 例二数据库

modify name = 例七数据库

方法二:

exec sp_renamedb '例二数据库','例七数据库'

------------------------------------------------------

例八:为“例六数据库”增加一个数据文件。

alter database 例六数据库

add file (name=增加的数据文件,

filename='d:\DBtest\例六数据库增加的数据文件.ndf')

--------------------------------------------------------

例九:为“例六数据库”增加一个日志文件。

alter database 例六数据库

add log file (name=例九增加的日志文件,

filename='d:\DBtest\例九增加的日志文件.ldf',

size=3MB,

maxsize=50MB,

filegrowth=10% )

--------------------------------------------------------

例十:将“例六数据库”中名为“增加的数据文件”的数据文件改名。

alter database 例六数据库

modify file(name=增加的数据文件,

newname = 例十数据文件,

filename = 'd:\DBtest\例十数据文件.ndf')

例十一: 修改’例六数据库’的排序规则

alter database 例六数据库

collate Chinese_PRC_CI_AS_KS

例十二: 在’例六数据库’里删除一个数据文件.

alter database 例六数据库

remove file 例十数据文件

例十三: 在’例六数据库’里添加一个文件组

alter database 例六数据库

add filegroup 例十三文件组

例十四: 在’例六数据库’里为一个文件组改名.

alter database 例六数据库

modify filegroup 例十三文件组

name=例十四文件组

例十五: 在’例六数据库’里添加一个数据文件(如:例十五数据文件)到一个文件组(如:例十四文件组),并将该文件组设置为默认文件组.因alter database一次只能修改数据库的一个属性,故下例中使用了2个alter database语句.

alter database 例六数据库

add file (name=例十五数据文件,

filename=’d:\DBtest\例十五数据文件.ndf’)

to filegroup 例十四文件组

go

alter database 例六数据库

modify filegroup 例十四文件组 default

例十六: 在“例六数据库”里删除“例十四文件组”.由于“例十四文件组”是默认文件组,其中又包含了一个文件(例十五数据文件).故,要从“例六数据库”中删除“例十四文件组”,必须先进行以下操作:

(1)将其他文件组设置为默认文件组,如本例中将PRIMARY文件组设置为默认文件组。

由于PRIMARY是保留字,故在使用它的时候,要用方括号括起来。

alter database 例六数据库

modify filegroup [PRIMARY] default

(2)删除“例十四文件组”中包含的“例十五数据文件”。

alter database 例六数据库

remove file 例十五数据文件

(3)删除“例十四文件组”。

alter database 例六数据库

remove filegroup 例十四文件组

例十七:将“例六数据库”里的一个文件组设置为只读。

(1)由于primary文件组是不能设置为只读的,故先添加一个文件组(如:例十七文件组)。

alter database 例六数据库

add filegroup 例十七文件组

(2)由于空文件组(如:例十七文件组)是不能设置为只读的,所以要再添加一个文件(如:例十七数据文件)到该文件组中。

alter database 例六数据库

add file (name=例十七数据文件,

filegroup=’d:\Dbtest\例十七数据文件.ndf’)

to filegroup 例十七文件组

(3)将文件组(例十七文件组

alter database 例六数据库

modify filegroup 例十七文件组 read_only

例十八:将“例六数据库”设置为只有一个用户可访问。

alter database 例六数据库

set single_user

例十九:设置“例六数据库”可自动收缩。

alter database 例六数据库

set auto_shrink on


本文转自

beyondhedefang

 51CTO博客,原文链接:http://blog.51cto.com/beyondhdf/1153962 ,如需转载请自行联系原作者

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
15天前
|
SQL 数据库 数据安全/隐私保护
数据库数据恢复——sql server数据库被加密的数据恢复案例
SQL server数据库数据故障: SQL server数据库被加密,无法使用。 数据库MDF、LDF、log日志文件名字被篡改。 数据库备份被加密,文件名字被篡改。
|
7天前
|
SQL 关系型数据库 MySQL
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL 数据库 SQL 语句调优方法详解(2-1)
本文深入介绍 MySQL 数据库 SQL 语句调优方法。涵盖分析查询执行计划,如使用 EXPLAIN 命令及理解关键指标;优化查询语句结构,包括避免子查询、减少函数使用、合理用索引列及避免 “OR”。还介绍了索引类型知识,如 B 树索引、哈希索引等。结合与 MySQL 数据库课程设计相关文章,强调 SQL 语句调优重要性。为提升数据库性能提供实用方法,适合数据库管理员和开发人员。
|
7天前
|
关系型数据库 MySQL 大数据
大数据新视界--大数据大厂之MySQL 数据库课程设计:MySQL 数据库 SQL 语句调优的进阶策略与实际案例(2-2)
本文延续前篇,深入探讨 MySQL 数据库 SQL 语句调优进阶策略。包括优化索引使用,介绍多种索引类型及避免索引失效等;调整数据库参数,如缓冲池、连接数和日志参数;还有分区表、垂直拆分等其他优化方法。通过实际案例分析展示调优效果。回顾与数据库课程设计相关文章,强调全面认识 MySQL 数据库重要性。为读者提供综合调优指导,确保数据库高效运行。
|
29天前
|
SQL 数据库连接 Linux
数据库编程:在PHP环境下使用SQL Server的方法。
看看你吧,就像一个调皮的小丑鱼在一片广阔的数据库海洋中游弋,一路上吞下大小数据如同海中的珍珠。不管有多少难关,只要记住这个流程,剩下的就只是探索未知的乐趣,沉浸在这个充满挑战的数据库海洋中。
49 16
|
1月前
|
SQL 关系型数据库 MySQL
如何优化SQL查询以提高数据库性能?
这篇文章以生动的比喻介绍了优化SQL查询的重要性及方法。它首先将未优化的SQL查询比作在自助餐厅贪多嚼不烂的行为,强调了只获取必要数据的必要性。接着,文章详细讲解了四种优化策略:**精简选择**(避免使用`SELECT *`)、**专业筛选**(利用`WHERE`缩小范围)、**高效联接**(索引和限制数据量)以及**使用索引**(加速搜索)。此外,还探讨了如何避免N+1查询问题、使用分页限制结果、理解执行计划以及定期维护数据库健康。通过这些技巧,可以显著提升数据库性能,让查询更高效流畅。
|
4天前
|
SQL IDE 关系型数据库
JetBrains DataGrip 2025.1 发布 - 数据库和 SQL 跨平台 IDE
JetBrains DataGrip 2025.1 (macOS, Linux, Windows) - 数据库和 SQL 跨平台 IDE
38 0
|
2月前
|
SQL 数据库
数据库数据恢复—SQL Server报错“错误 823”的数据恢复案例
SQL Server数据库附加数据库过程中比较常见的报错是“错误 823”,附加数据库失败。 如果数据库有备份则只需还原备份即可。但是如果没有备份,备份时间太久,或者其他原因导致备份不可用,那么就需要通过专业手段对数据库进行数据恢复。
|
3月前
|
SQL NoSQL 关系型数据库
超强数据库管理软件推荐-没有之一-还在用Navicat管理本地数据库的吗?还在为Navicat寻求绿色版或者购买正版的费用望而却步吗?DBeaver让你解决所有数据库本地编写问题-优雅草央千澈-DBeaver下载和安装
超强数据库管理软件推荐-没有之一-还在用Navicat管理本地数据库的吗?还在为Navicat寻求绿色版或者购买正版的费用望而却步吗?DBeaver让你解决所有数据库本地编写问题-优雅草央千澈-DBeaver下载和安装
286 18
超强数据库管理软件推荐-没有之一-还在用Navicat管理本地数据库的吗?还在为Navicat寻求绿色版或者购买正版的费用望而却步吗?DBeaver让你解决所有数据库本地编写问题-优雅草央千澈-DBeaver下载和安装
|
2月前
|
SQL 存储 关系型数据库
【SQL技术】不同数据库引擎 SQL 优化方案剖析
不同数据库系统(MySQL、PostgreSQL、Doris、Hive)的SQL优化策略。存储引擎特点、SQL执行流程及常见操作(如条件查询、排序、聚合函数)的优化方法。针对各数据库,索引使用、分区裁剪、谓词下推等技术,并提供了具体的SQL示例。通用的SQL调优技巧,如避免使用`COUNT(DISTINCT)`、减少小文件问题、慎重使用`SELECT *`等。通过合理选择和应用这些优化策略,可以显著提升数据库查询性能和系统稳定性。
112 9
|
3月前
|
SQL Java 数据库连接
【潜意识Java】MyBatis中的动态SQL灵活、高效的数据库查询以及深度总结
本文详细介绍了MyBatis中的动态SQL功能,涵盖其背景、应用场景及实现方式。
321 6

热门文章

最新文章

下一篇
oss创建bucket