分享

SQLSERVER数据库管理

 小鱼儿363 2016-01-13

1.sqlserver2005 数据库分为系统数据库和用户定义数据库.

2.sqlserver2005系统数据库主要由:master,msdb,model,resource,tempdb

master数据库 : 记录 SQL Server 实例的所有系统级信息。

msdb 数据库:  用于 SQL Server 代理计划警报和作业。

model 数据库:用作 SQL Server 实例上创建的所有数据库的模板。model 数据库进行的修改(如数据库大小、排序规则、恢复模式和其他数据库选项)将应用于以后创建的所有数据库。

Resource 数据库 :一个只读数据库,包含 SQL Server 2005 包括的系统对象。系统对象在物理上保留在 Resource 数据库中,但在逻辑上显示在每个数据库的 sys 架构中。

tempdb 数据库 :一个工作空间,用于保存临时对象或中间结果集。

3.sqlserver2005数据库至少具有两个操作系统的文件:数据文件和日志文件. 数据文件包含数据和对象,例如表,索引,存储过程和视图.日志文件包含对恢复数据库中所有事务所需的信息.为了便于管理可以将数据文件集合起来,存放到文件组中.

4.SQL Server 2005 数据库具有三种类型的文件,如下表所示:

文件

说明

主要

主要数据文件包含数据库的启动信息,并指向数据库中的其他文件。用户数据和对象可存储在此文件中,也可以存储在次要数据文件中。每个数据库有一个主要数据文件。主要数据文件的建议文件扩展名是 .mdf。

次要

次要数据文件是可选的,由用户定义并存储用户数据。通过将每个文件放在不同的磁盘驱动器上,次要文件可用于将数据分散到多个磁盘上。另外,如果数据库超过了单个 Windows 文件的最大大小,可以使用次要数据文件,这样数据库就能继续增长。

次要数据文件的建议文件扩展名是 .ndf。

事务日志

事务日志文件保存用于恢复数据库的日志信息。每个数据库必须至少有一个日志文件。事务日志的建议文件扩展名是 .ldf。

 5. 每个数据库有一个主要文件组。此文件组包含主要数据文件和未放入其他文件组的所有次要文件。可以创建用户定义的文件组,用于将数据文件集合起来,以便于管理、数据分配和放置。事务日志文件不属于任何文件组.

 6.数据库的创建:

    CREATE DATABASE Sales

ON

( NAME = Sales_dat,

    FILENAME = '''+ @data_path + 'saledat.mdf'',

    SIZE = 10,

    MAXSIZE = 50,

    FILEGROWTH = 5 )

LOG ON

( NAME = Sales_log,

    FILENAME = '''+ @data_path + 'salelog.ldf'',

    SIZE = 5MB,

    MAXSIZE = 25MB,

    FILEGROWTH = 5MB )'

);

7.修改数据库:

   Alter database sales

8.查看数据库的信息:

  Sp_database;

  Sp_helpdb

  Sp_helpfilegroup

9.修改数据库的属性:

  设置数据库为只读: 

        Exec sp_dboption ‘sales’,’read only’,true

设置数据库为自动压缩:

Exec sp_dboption ‘sales’,autoshrink,true

   设置数据库为单用户:

        Exec sp_dboption ‘sales’,’single user’,true

   收缩数据库的大小

        Dbcc shrinkdatabase (sales,10)

       注解:将sales数据库的文件减小,以使userdb中的文件有10MB的可用空间.

10. 数据库的分离和附加:

      分离数据库是指将数据库从 SQL Server 实例中删除,但使数据库在其数据文件和事务日志文件中保持不变。之后,就可以使用这些文件将数据库附加到任何 SQL Server 实例,包括分离该数据库的服务器。

    分离: Exec sp_detach_db ‘sales’

附加:exec sp_attach_db @dbname=’sales’,

                    @filename1=’c:\sales\sales_data.mdf’,

                    @filename2=’c:\sales\sales_data.ndf’

11.数据库的备份:

(1).添加磁盘存储设备:

   Exec sp_addumpdevice ‘disk’,’mydiskdump’,’c:\dump\dump.bak’

(2)将数据库备份写入备份设备:

   Backupdatabase sales to mydiskdump

(3) 恢复数据库

    Restore database sales from mydiskdump.

参考例题:

 

use master

go

if db_id( 'sales') is not null

drop database sales

go

create database sales

go

 

use master

go

if db_id('sales') is not null

drop database sales

go

create database sales

on               --创建主数据文件

(

    name = sales_dat ,--逻辑名称

    filename='d:\sales\sales.mdf',--物理路径

    size=10MB,          --初始化大小,单位默认为MB

    maxsize =50,          --数据库的最大容量

    filegrowth=5MB         --文件的增长速度

)

log on

(

     name= sales_log,

     filename='d:\sales\sales.ldf',

     size=5MB,

     maxsize=25,

     filegrowth=5

 

 

execute sp_databases   --查看系统数据库的信息

execute sp_helpdb      --查看数据库的详细信息

execute sp_helpdb 'sales' --后边增加参数(数据库的名称),可以查看指定

                         --数据库的详细信息

use  sales

go

exec sp_helpfile   --查看指定库的系统文件的信息

exec sp_renamedb 'sales','mysales' --修改数据库的名称

--修改数据库

alter database mysales

modify file

(

    name=sales_dat,

    size=20MB     --根据逻辑名称进行存储数据的修改

)

go

sp_helpdb 'mysales'

alter database mysales  

add file                    -- 增加数据文件

(

    name=sales_ndat,

    filename='d:\sales\sales.ndf',   --要求我们的文件夹路径必须存在

    maxsize=50MB,

    size=10MB,                      --初始化大小

    filegrowth=5MB

)

sp_helpfile

 

 

--1.设置数据库为只读数据库

exec sp_dboption 'mysales','read only','true'

exec sp_dboption 'mysales','read only','false'

--2.设置数据库为自动压缩

exec sp_dboption 'mysales','autoshrink','true'

--3.设置数据库为单用户数据库

 exec sp_dboption 'mysales','single user','true'

 exec sp_dboption 'mysales','single user','false'

--4. 收缩我们的数据库

  dbcc shrinkdatabase ('mysales',10)

  --收缩数据库mysales,留下%的可利用空间.

 

--分离

exec sp_detach_db 'mysales'

--附加

exec sp_attach_db @dbname='mysales',   --数据库的名称

            @filename1='c:\sales\sales.mdf', --数据库的文件物理路径

            @filename2='c:\sales\sales.ndf',

            @filename3='c:\sales\sales.ldf'

 

--(1)添加备份设备

     use master

     go

     exec sp_addumpdevice 'disk','mybackup','c:\backup\backup.bat'

     --'disk'进行磁盘备份

     -- mybackup ,备份的逻辑名称

     --'c:\backup\backup.bat' 备份的物理路径。

--(2)将数据库备份写入备份的文件(逻辑名称)

  backup database mysales to mybackup

 --(3)还原备份数据库

  restore database mysales from mybackup

 --(4)删除备份设备

  sp_dropdevice 'mybackup'

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多