当前位置:七道奇文章资讯数据防范MSSQL防范
日期:2011-05-02 15:21:00  来源:本站整理

SQL Server数据库技术(30)[MSSQL防范]

赞助商链接



  本文“SQL Server数据库技术(30)[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
1、文件与文件组
在sql server 中数据库是由数据库文件和事件日记文件构成的.一个数据库至少应包含一个数据库文件和一个事物日记文件.
(1) 数据库文件(Database File)
数据库文件是存放数据库数据和数据库对象的文件.一个数据库可以有一个或多个数据库文件,一个数据库文件只属于一个数据库.当有多个数据库文件时,有一个文件被定义为主数据库文件(Primary Database File), 扩大名为mdf, 它用来存储数据库的启动信息和部份或全部数据,一个数据库只能有一个主数据库文件.别的数据库文件被称为次数据库文件(Secondary Database File), 扩大名为ndf, 用来存储主文件没存储的别的数据.

采取多个数据库文件来存储数据的长处表目前:
 ·数据库文件可以不断扩大,而不受操作系统文件大小的限制;
 ·可以将数据库文件存储在差别的硬盘中,这样可以同时对几个硬盘做数据存取,提高了数据处理的效率.关于服务器型的计算机尤为有效.

(2) 事件日记文件(Transaction Log File)
事件日记文件是用来记录数据库更新情形的文件,扩大名为ldf.比方利用INSERT、UPDATE、 DELETE、 等对数据库举行更的操作城市记录在此文件中,而如SELECT 等对数据库内容不会有影响的操作则不会记录在案.一个数据库可以有一个或多个事件日记文件.

SQL Server 中采取"Write-Ahead (提早写)"方法的事件,即对数据库的改正先写入事件日记中,再写入数据库.其具体操作是,系统先将更改操作写入事件日记中,再更改存储在计算机缓存中的数据,为了提高履行效率,此更改不会当即写到硬盘中的数据库,而是由系统以固定4 的时间隔断履行CHECKPOINT 号令,将更改过的数据批量写入硬盘.SQL Server 有个特点,它在履行数据更改时会设置一个开始点和一个完毕点,假如还没有到达完毕点就因某种缘由使操作中止,则在SQL Server 重新启动时会自动恢复已改正的数据,使其返回未被改正的状况. 由此可见,当数据库破坏时,可以用事件日记恢复数据库内容.

(3) 文件组(File Group)
文件组是将多个数据库文件调集起来形成的一个整体.每个文件组有一个组名.与数据库文件一样,文件组也分为主文件组(Primary File Group) 和次文件组(Secondary FileGroup) 一个文件只能存在于一个文件组中,一个文件组也只能被一个数据库利用.主文件组中包含了全部的系统表.当成立数据库时,主文件组包含主数据库文件和未指定组的别的文件.在次文件组中可以指定一个缺省文件组,那么在成立数据库对象时假如没有指定将其放在哪一个文件组中,就会将它放在缺省文件组中.假如没有指定缺省文件组则主文件组,为缺省文件组.
注意:事件日记文件不属于任何文件组.

6.1.2 用Enterprise Manager 成立数据库
在Enterprise Manager 中可以按下列步骤来成立数据库:
(1) 单击工具栏中的图标,或在服务器的Databases 文件夹或其部属数据库图标上单击右键,挑选New Database…选项,即会呈现如图6-1 所示的对话框.
(2) 指定数据库的名称和编码方法,如图6-1 所示.

图6-1 成立数据库对话框
(3) 点击Transaction Log 页框,指定数据库文件的名称、存储位置、初始容量大小和所属文件组,如图6-2 所示.
(4) 举行数据库文件大小扩大方法和容量限制设置,如图6-2 所示.
(5) 点击Transaction Log 页框,指定事件日记文件的名称、存储位置和初始容量大小,如图6-3 所示.
(6) 举行事件日记文件大小扩大方法和容量限制设置,如图6-3 所示.

(7) 单击"肯定"按钮,则建新数据库.
注意:数据库的名称最长为128个字符,且不辨别大小写.
注意:在此指定的文件容量以MB为单们的,数据库文件的最小容量为1MB,最大容量为1,048,516TB(这么大的硬盘还没出世!);事件日记文件的最小容量为1MB.
一个服务器在理论上可以管理32,767数据库.

6.1.3 用CREATE DATABASE 号令成立数据库

各参数阐明以下:

  • database_name
    数据库名称,不能超越128 个字符,由于系统会在后来增添5 个字符的逻辑后缀,因此实际能指定的字符数为123 个.
  • on
    指明数据库文件和文件组的明肯定义.
  • PRIMARY
    指明主数据库文件或主文件组.主文件组的第一个文件被认为是主数据库文件,此中包含了数据库的逻辑启动信息和数据库的系统表.假如没有PRIMARY 项,则在CREATE DATABASE 号令中列出的第一个文件将被默许为主文件.
  • filespec
    文件阐明.
  • n
    占位符表明可以指定多个近似的对象.
  • filegroupspec
    文件组阐明.
  • LOG ON>
    指明事件日记文件的明肯定义.假如没有LOG ON 选项,则系统会自动产生一个文件名前缀与数据库名相同,容量为全部数据库文件大小1/4 的事件日记文件.
  • COLLATE
    指明数据库利用的校验方法.collation_name 可以是Windows 的校验方法名称,也可以是SQL 校验方法名称.假如省略此子句,则数据库利用当前的SQL Server 设置的校验方法.
  • FOR LOAD
    此选项是为了与SQL Server 7.0 从前的版本兼容而设定的.读者可以不用管它.RESTORE 号令可以更好地实现此功效.
  • FOR ATTACH
    用于附加已经存在的数据库文件到新的数据库中,而不用重新成立数据库文件.利用此号令必须指定主文件.被附加的数据库文件的代码页(Code Page)和排序次序(Sort Order)必须和目前SQL Server 所利用的一致.倡议利用sp_attach_db 系统存储历程来替换此号令(关于sp_attach_db 系统存储历程的用法请拜见本章的第7 节"移动和复制数据库").CREATE DATABASE FOR ATTACH 号令只有在指定的文件数目超越16 个时才必须利用.
  • NAME
    指定文件在SQL Server 中的逻辑名称.当时用FOR ATTACH 选项时,就不需求利用 NAME 选项了.
  • FILENAME
    指定文件在操作系统中存储的途径名和文件名称.
  • SIZE
    指定数据库的初始容量大小.假如没有指定主文件的大小,则SQL Server 默许其与模板数据库中的主文件大小一致,别的数据库文件和事件日记文件则默许为1 MB. 指定大小的数字size 可以利用KB、 MB、 GB、 和TB 后缀,默许的后缀是MB. size 中不能利用小数,其最小值为512 KB, 默许值是1MB. 主文件的size 不能小于模板数据库中的主文件(关于模板数据库的介绍请拜见本章最后一节).
  • MAXSIZE
    指定文件的最大容量.假如没有指定MAXSIZE, 则文件可以不断增长直到充满磁盘.
  • UNLIMITED
    指明文件无容量限制.
  • FILEGROTH
    指定文件每次增容时增添的容量大小.增添量可认为肯定的以KB、 MB 作后缀的字节数或以%作后缀的被增容文件的百分比来表示.缺省后缀为MB. 假如没有指定FILEGROWTH,则缺省值为10%, 每次扩容的最小值为64 KB. CREATE DATABASE 号令在SQL Server 中履行时利用模板数据库来初始化新建的数据库(利用FOR ATTACH 选项时除外).在模板数据库中的全部用户定义的对象和数据库的设置城市被复制到新数据库中.每个数据库都有一个全部者(Database Owner,简称DBO),成立数据库的用户被默许为数据库全部者.可以通过sp_changedbowner 系统存储历程来更改数据库全部者.

例6-1: 成立一个与上节顶用Enterprise Manager 成立的数据库近似的数据库.
create database mydb
on primary
( name = mydb_data1,
filename = 'd:\sql data\mydb_data1.mdf',
size = 1,
maxsize = unlimited,
filegrowth = 10% ),
filegroup data2
( name = mydb_data2,
filename = 'd:\sql data\mydb_data2.ndf',
size = 2,
maxsize = 100,
filegrowth = 1 ),
filegroup data3
( name = mydb_data3,
filename = 'd:\sql data\mydb_data3.ndf',
size = 3,
maxsize = 50,
filegrowth = 500kb )
log on
( name = 'mydb_log1',
filename = 'd:\sql data\mydb_log1.ldf',
size = 1mb,
maxsize = 25mb,
filegrowth = 10% ),
( name = 'mydb_log2',
filename = 'd:\sql data\mydb_log2.ldf',
size = 1mb,
maxsize = 10mb,
filegrowth = 10% ),
( name = 'mydb_log3',
filename = 'd:\sql data\mydb_log3.ldf',
size = 1mb,
maxsize = 5mb,
filegrowth = 512kb )
运行后果以下
-------------------- --------------------
The CREATE DATABASE process is allocating 1.00 MB on disk 'mydb_Data1'.
The CREATE DATABASE process is allocating 2.00 MB on disk 'mydb_Data2'.
The CREATE DATABASE process is allocating 3.00 MB on disk 'mydb_Data3'.
The CREATE DATABASE process is allocating 1.00 MB on disk 'mydb_Log1'.
The CREATE DATABASE process is allocating 1.00 MB on disk 'mydb_Log2'.
The CREATE DATABASE process is allocating 1.00 MB on disk 'mydb_Log3'.   以上是“SQL Server数据库技术(30)[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • Windows 搭配 IIS7 PHP MySQL 环境
  • sqlserver索引的原理及索引成立的注意事项小结
  • SQL Join的一些总结(实例)
  • SQL的Join利用图解教程
  • SQL中JOIN和UNION辨别、用法及示例介绍
  • 关于SQL中CTE(公用表表达式)(Common Table Expression)的总结
  • mysql Out of memory (Needed 16777224 bytes)的错误办理
  • mysql提醒[Warning] Invalid (old?) table or database name问题的办理办法
  • mysql启用skip-name-resolve情势时呈现Warning的处理办法
  • mysql启用skip-name-resolve情势时呈现Warning的处理办法
  • MySQL Order By语法介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .