初学T-SQL笔记之 ON [PRIMARY]

本文介绍了SQL Server中ON [PRIMARY]的含义,它表示表存储在主文件组上。文章详细阐述了数据库的主数据文件、次要数据文件和事务日志文件的作用,以及文件组的概念,包括主文件组和用户定义文件组,讨论了如何利用文件组优化存储管理和性能。

初学T-SQL之 ON [PRIMARY]

  这些天什么都没做。年前似乎有忙不完的事,年后了却又有了好逸的毛病。。。。

  今天才开始看学校实验指导的数据库开发实例。以前一直没有时间来看。。。

创建表的语句中,最后总来一句on[primary],这是什么意思?

翻翻联机丛书。在CREATE TABLE的语法下似乎没有找到。硬着头皮看下去,终于明白了一些。

写出来吧。侯捷老师说,发表是最好的记忆。:)

在CREATE TABLE的语法中有这样一句可选语法项目:
[ ON { filegroup | DEFAULT } ]

用来指定存储表的文件组。
如果指定 filegroup,则表将存储在指定的文件组中。数据库中必须存在该文件组。如果指定 DEFAULT,或者根本未指定 ON 参数,则表存储在默认文件组中。
(DEFAULT 并不是关键字。DEFAULT 是默认文件组的标识符并需对其进行定界,如 ON "DEFAULT"、ON [DEFAULT]。)


ON [PRIMARY]是表示表是建立在主文件组上。PRIMARY表示主文件组。如果没有指定默认文件组,则主文件组是默认文件组,ON [PRIMARY]也可以省略掉了。

由数据库说开来。Microsoft® SQL Server™ 2000 使用一组操作系统文件映射数据库,也可以说将数据库映射到一组操作系统文件上(看你怎么理解了)。数据库中的所有数据和对象(如表、存储过程、触发器和视图)都存储在操作系统文件(数据库文件):主要数据文件 、次要数据文件 和事务日志 文件中。

1.主要数据文件 
该文件包含数据库的启动信息,并用于存储数据。是数据库的起点,指向数据库中文件的其它部分。每个数据库都有一个主要数据文件。主要数据文件的推荐文件扩展名是 .mdf。


2.次要数据文件
这些文件含有不能置于主要数据文件中的所有数据即包含除主要数据文件外的所有数据文件。有些数据库可能没有次要数据文件,而有些数据库则有多个次要数据文件。(如果主文件可以包含数据库中的所有数据,那么数据库就不需要次要数据文件。有些数据库可能足够大故需要多个次要数据文件,或使用位于不同磁盘驱动器上的辅助文件将数据扩展到多个磁盘。)次要数据文件的推荐文件扩展名是 .ndf。

3.事务日志文件
该数据库的日志信息。每个数据库都必须至少有一个日志文件。日志文件的推荐文件扩展名是 .ldf。

文件组
出于分配和管理目的,可以将数据库文件分成不同的文件组。文件组是SQL Server 2000数据文件的一种逻辑管理单位。SQL Server中一个或多个文件的命名集合,它构成分配或用于数据库管理的单个单元。在首次建数据库,或者以后将更多文件添加到数据库时,可以创建文件组。文件组不能独立于数据库文件创建。文件组是在数据库中对文件进行分组的一种管理机制。

有两种类型的文件组:主要文件组和用户定义文件组。(可以说,数据库由一个主文件组和任意用户定义的文件组组成。)

1.主文件组 (PRIMARY)
用户定义文件组 默认文件组 同为文件组的一种类型。
其包含主要数据文件和任何没有明确指派给其它文件组的其它文件。系统表的所有页均分配在主文件组.
2.用户定义文件组
用户定义文件组是在 CREATE DATABASE 或 ALTER DATABASE 语句中,使用 FILEGROUP 关键字或在 SQL Server 企业管理器内的"属性"对话框指定的文件组。

另:默认文件组 (DEFAULT 文件组)
文件组的一种类型,其包含在创建时没有指定文件组的所有表和索引的页。在每个数据库中,每次只能有一个文件组是默认文件组。如果没有指定默认文件组,则默认文件组是主文件组。 可用 ALTER DATABASE 语句更改默认文件组。通过更改默认文件组,创建时没有指定文件组的任何对象都被分配到新默认文件组中的数据文件。然而,系统对象和表仍然保留在 PRIMARY 文件组内,而不是新默认文件组。(每个数据库中都有一个文件组作为默认文件组运行。当 SQL Server 给创建时没有为其指定文件组的表或索引分配页时,将从默认文件组中进行分配。一次只能有一个文件组作为默认文件组。db_owner 固定数据库角色成员可以将默认文件组从一个文件组切换到另一个。如果没有指定默认文件组,则主文件组是默认文件组。)


注:SQL Server 2000 在没有文件组时也能有效地工作,因此许多系统不需要指定用户定义文件组。在这种情况下,所有文件都包含在主文件组中,而且 SQL Server 2000 可以在数据库内的任何位置分配数据。文件组不是在多个驱动器之间分配 I/O 的唯一方法。

附:

. 为什么要建立文件组

建立文件组有两个目的。

q        一是可以更好地分配和管理存储空间,通过控制在特定磁盘驱动器上放置数据和索引来提高数据库的性能。

q        二是由于操作系统对物理文件的大小进行了限制,所以当某个磁盘上的数据文件超过单个文件允许的最大值时,可以使用文件组中存

贮在其他驱动器上的数据文件继续扩充存储空间。
. 数据文件和文件组的使用规则

SQL Server 2000中的数据文件和文件组的使用规则包括:

q        数据文件或文件组不能由一个以上的数据库使用。

q        数据文件只能是一个文件组的成员。

q        数据文件和日志文件不能属于同一文件或文件组。

q        日志文件不能属于任何文件组。

q        只有文件组中的所有数据文件都没有空间了,文件组的文件才会自动增长。

. 文件组的工作原理

文件组对组内的所有文件都使用按比例填充策略。当将数据写入文件组时,SQL Server 2000根据文件中的可用空间量将一定比例的数据写入文

件组的每个文件,而不是将所有的数据先写满第一个文件,接着再写入下一个文件。例如,如果文件1有100MB的可用空间,文件2有200MB的可

用空间,则从文件1中分配一个盘区,从文件2中分配两个盘区,依此类推。这样,两个文件几乎同时填满。

一旦文件组内的所有文件已满,SQL Server 2000就自动地采用循环方式一次扩展一个文件,以容纳更多的数据(假定数据库设置为自动增长)

。例如,某个文件组由3个文件组成,它们都设置为自动增长。当文件组中的所有文件的空间用完时,只扩展第一个文件。当第一个文件已满,

不能将更多的数据写入该文件组时,扩展第二个文件。当第二个文件已满,不能将更多的数据写入该文件组时,扩展第3个文件。如果第3个文

件已满,不能将更多的数据写入该文件组,那么再次扩展第一个文件,以此类推。

正时由于文件组的这种特性,允许跨多个磁盘、多个磁盘控制器或 RAID(廉价磁盘冗余阵列)系统创建数据库,可提高数据库性能。例如,如

果计算机中有4个磁盘,那么可以创建一个由3个数据文件和一个日志文件组成的数据库,每个磁盘上放置一个文件。在对数据进行访问时,四

个读/写磁头可以同时并行地访问数据,从而加速数据库操作。

另外,文件和文件组允许数据布局,可以在特定的文件组中创建表。因为特定表的所有输入/输出都可以定向到特定的磁盘,所以性能得以改善

。例如,可以将最常用的表放在一个文件组中的一个文件中,该文件组位于一个磁盘上;而将数据库中其它的不常访问的表放在另一个文件组

中的其它文件中,该文件组位于第二个磁盘上。
. 如何使用文件组的建议

q       大多数数据库在只有单个数据文件和单个事务日志文件的情况下可以很好地运行。

q        如果使用多个文件,请为附加文件创建第二个文件组,并将其设置为默认文件组。这样,主文件将仅包含系统表和对象。

q        若要获得最佳性能,请在尽可能多的可用本地物理磁盘上创建文件或文件组,并将争夺空间最激烈的对象置于不同的文件组中。

q        使用文件组以允许将对象放置在特定的物理磁盘上。

q        将在同一联接查询中使用的不同表置于不同的文件组中。由于采用并行磁盘输入/输出对联接数据进行搜索,所以性能将得以改善。

q        将最常访问的表和属于这些表的非聚集索引置于不同的文件组上。如果文件位于不同的物理磁盘上,由于采用并行输入/输出,所以

性能得以提高。

q        不要将日志文件与其它文件和文件组置于同一物理磁盘上。

合理分域,准确定级 信息系统等级保护以系统所处理信息的最高重要程度来确定安全等级 在合理划分安全域边界安全可控的情况下,各安全域可根据信息的最高重要程度单独定级,实施"分域分级防护"的策略,从而降低系统建设成本和管理风险 信息系统安全域之间的边界应划分明确,安全域与安全域之间的所有数据通信都应安全可控 对于不同等级的安全域间通信,应实施有效的访问控制策略和机制,控制高密级信息由高等级安全域流向低等级安全域。 第一页,共57页。 网络安全架构设计和网络安全设备部署全文共57页,当前为第1页。 面对众多安全威胁该如何防范? 口令暴解 窃听 SQL注入 跨站脚本 恶意代码 误操作 系统漏洞 系统故障 蠕虫病毒 黑客入侵 混合攻击 自然灾害 跨站脚本 网站挂马 弱点扫描 木马 DoS攻击 轻则: 系统不稳定 网络或业务访问缓慢 成为攻击跳板 造成信誉影响 。。。 重则: 业务不可访问 网络中断、不可用 系统宕机 数据被窃取、篡改 造成经济损失 导致行政处罚或刑事责任 。。。 后门 第二页,共57页。 网络安全架构设计和网络安全设备部署全文共57页,当前为第2页。 传统安全防护思想——头疼医头,脚痛医脚 安全的 组织保障 密码机 物理隔离卡 基本 安全机制 LAN/WAN 的安全 TEMPEST 外网互连 安全 网络管理 防火墙 安全应用 安全 数据库 CA认证 个人机安全 保护 安全审计 Windows 安全 UNIX 安全 操作系统 PKI 入侵检测 防病毒 PMI 第三页,共57页。 网络安全架构设计和网络安全设备部署全文共57页,当前为第3页。 信息安全的内涵和外延是什么? 什么样的系统是安全的? 信息安全保障的目标是什么? 信息安全的基本概念 机密性 完整性 可用性 不可抵赖性 可控性 可审计性 第四页,共57页。 网络安全架构设计和网络安全设备部署全文共57页,当前为第4页。 信息系统等级保护标准 GB/T 17859系列标准 第五页,共57页。 网络安全架构设计和网络安全设备部署全文共57页,当前为第5页。 物理安全 网络安全 主机安全 应用安全 数据安全 身份鉴别(S) 安全标记(S) 访问控制(S) 可信路径(S) 安全审计(G) 剩余信息保护(S) 物理位置的选择(G) 物理访问控制(G) 防盗窃和破坏(G) 防雷/火/水(G) 温湿度控制(G) 电力供应(A) 数据完整性(S) 数据保密性(S) 备份与恢复(A) 防静电(G) 电磁防护(S) 入侵防范(G) 资源控制(A) 恶意代码防范(G) 结构安全(G) 访问控制(G) 安全审计(G) 边界完整性检查(S) 入侵防范(G) 恶意代码防范(G) 网络设备防护(G) 身份鉴别(S) 剩余信息保护(S) 安全标记(S) 访问控制(S) 可信路径(S) 安全审计(G) 通信完整性(S) 通信保密性(S) 抗抵赖(G) 软件容错(A) 资源控制(A) 技术要求 第六页,共57页。 网络安全架构设计和网络安全设备部署全文共57页,当前为第6页。 项目管理 安全整改 安全巡检 环境安全 风险评估 管理体系 Management 组织体系 Organization 一体化全局安全管理/监控/审计/运维人机界面 优化加固 驻场运维 日常维护 安全报告 应急恢复 运行体系 Operation 技术体系 Technology 风险监控 事件管理 脆弱管理 性能监控 安全监控中心 态势感知 业务监控 拓扑监控 设备监控 安全审计中心 网络审计 业务审计 数据审计 采集存储 终端审计 运维审计 合规审计 统计查询 边界安全 传输安全 环境安全 接入安全 入侵检测 漏洞管理 准入管理 安全保护框架 基础设施 边界安全 计算环境 安全支撑设施 IT系统 工作台管理 巡检管理 工单管理 KPI管理 组织人员管理 资产管理 服务商管理 应急管理 统计查询 响应处置 安全运维中心 预警监测体系 基础防护体系 安全策略方针 角色职责矩阵 安全通报机制 安全人员管理 教育培训计划 策略制定发布 安全技术管理 安全操作规范 安全设备管理 安全环境管理 安全组织架构 主管部门 公安/保密 CN CERT 测评机构 集成商 服务商 开发商 供应商 安全决策机构 安全执行机构 安全响应小组 病毒监测 信息安全体系架构 第七页,共57页。 网络安全架构设计和网络安全设备部署全文共57页,当前为第7页。 IT层次架构与安全体系架构的结合 第八页,共57页。 网络安全架构设计和网络安全设备部署全文共57页,当前为第8页。 实施企业的安全防护/预警体系 安全防护体系 预警响应体系 一体化安全运营中心 访问控制 传输加密 流量清洗 合规审计 接入安全 入侵行为 深入检测 精确阻断 漏洞发现 预警响应 安全监控中心 安
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值