已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SQL Server2005入门教程SQL Server 是一个关系数据库管理系统。它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UNIX操作系统上的应SQL Server安装界面用。SQL Server是新一代的数据库平台,集成了更多、更优秀的功能特性。本章主要对SQL Server概要介绍,主要介绍如何创建数据库、如何管理权限、如何执行备份与恢复。1 SQL Server简介SQL Server是微软推出的新一代数据库管理系统,支持企业应用的开发与数据存储。本节对SQL Server进行简单介绍。主要内容包括:l 概述l SQL Server工具简介1.1 概述当今组织机构面临着多项前所未有的数据技术挑战:在整个企业范围内实现数据与系统的高度分布;为内部员工、目标客户与合作伙伴提供针对相关数据的持续访问调用能力;以切实有效的信息资料武装信息工作者,促进科学决策;在不必牺牲应用程序可用性、安全性或可靠性的前提下控制成本费用水平。新一版SQL Server的设计目标正是帮助企业单位应对上述挑战。作为Microsoft公司的新一代数据管理与分析软件,SQL Server有助于简化企业数据与分析应用的创建、部署和管理,并在解决方案伸缩性、可用性和安全性方面实现重大改进。基于SQL Server 2000技术优势构建的SQL Server将提供集成化信息管理解决方案,可帮助任何规模的组织机构:l 创建并部署更具伸缩性、可靠性和安全性的企业级应用。 l 降低数据库应用创建、部署与管理的复杂程度,进而实现IT效率最大化。 l 凭借可供创建更具安全保障之数据库应用的丰富、灵活、现代化开发环境增强开发人员工作效能。 l 跨越多种平台、应用和设备实现数据共享,进而简化内部系统与外部系统连接。 l 实现功能强劲的集成化商务智能解决方案,从而在整个企业范围内推进科学决策,提高工作效率。 l 在不必牺牲性能表现、可用性或伸缩性的前提下控制成本费用水平。在当今这个网络互连无处不在的世界上,必须随时随地为用户提供数据资料和数据管理系统。SQL Server将帮助机构中的用户和IT专业人员从明显缩短的应用故障时间、得到增强的伸缩能力与性能表现和牢固可靠的安全控制中获益。SQL Server还将包含有助于组织机构和IT人员提高自身工作效率的新增和改进功能特性。基于SQL Server 2000所提供的灵活技术手段构建的SQL Server可为从千兆级(TB)数据仓库到运行Microsoft SQL Server Windows CE Edition(SQL Server CE)之移动设备的一系列解决方案实现方式提供支持。SQL Server针对企业数据管理实现的重大改进主要体现在以下几方面:l 可用性,在高度可用性技术、补充备份与恢复功能以及复制增强特性等方面的投资将有助于企业单位创建并部署高度可靠的应用解决方案。数据库镜像、故障转移群集和改进联机操作等具有创新意义的高度可用特性可将故障时间控制在最低限度,并有助于确保关键企业系统随时接受访问调用。 l 伸缩性,表分区、快照隔离和64位支持等伸缩改进特性将允许运用SQL Server创建并部署要求最为严苛的应用程序。针对大型数据表和索引的分区功能极大改进了超大型数据库的查询操作。 l 安全性,“缺省安全保障”设置、数据库加密和改进安全模型等增强特性有助于为企业数据提供高度安全保障。 l 易管理性,新式管理工具套件、自我调节能力和功能强大的新式编程模型将允许数据库管理员针对数据库的日常运转加以灵活掌控。针对SQL事件探查器及其它工具的改进还可帮助数据库管理员将服务器调节至最佳性能状态。这些改进特性将允许数据库管理员从数据库日常运转工作中解脱出来,并集中精力从事数据库体系结构设计等更具价值的任务。 l 交互操作能力,SQL Server实现的技术进步允许在日益扩展的企业范围内将相对独立应用程序和数据库整合并连接起来,从而,实现新增和既有系统投资效益的最大化目标。SQL Server可面向行业标准、Web服务和Microsoft .NET Framework提供高水平支持,并在此基础上实现与多种平台、应用和设备之间的交互操作能力。SQL Server与其它Microsoft软件产品(从Microsoft Windows Server操作系统到Microsoft Visual Studio开发软件包和Microsoft Office应用程序)高度集成,并可帮助您所在机构运用协同技术手段节省时间和金钱。对于大规模在线事务处理、数据仓库应用和电子商务应用,SQL Server是一个优秀的数据库和数据分析平台。它主要包括以下几种关键技术:l SQL Server数据库引擎,数据库引擎是存储、处理和维护数据安全的核心服务。它为企业应用提供了访问控制能力和快速事务处理能力,从而能够满足大多数企业应用的需求。而且,数据库引擎为维护高可用性,还提供了其他支持能力。l 分析服务,分析服务为业务智能应用提供了联机分析处理和数据开采功能特性。开发人员能够设计、创建和管理多种数据源多多维数据结构,并且能够设计、创建和可视化数据开采模型。l 数据转换服务(DTS),SQL Server 数据转换服务是企业数据转换和数据集成的解决方案,能够帮助开发人员和数据库管理员提取、转换和集成数据。l 复制,复制是一组解决方案,使您得以在企业范围内复制、分发和可能修改数据。SQL Server 包括几种用于设计、执行、监视和管理复制的方案和选项,这些选项提供了分发数据和维护数据一致性所需的功能和灵活性。l 报表服务,报表服务是新的、基于服务器的报表平台,能够创建、管理表格型、矩阵型、图表型、自由形式的报表,这些报表可以包含来自多个关系和多维数据源的数据。所创建的报表能够在Web上进行查看和管理。l 通知服务,通知服务是用于开发、部署生成和发送通知的应用的平台。应用开发人员和管理员可以使用通知服务生成、发送通知给多个订阅者,将消息发送给多种设备。l 服务代理,服务代理是创建可靠的、大规模的、安全的数据库应用的解决方案。它驻留在数据库引擎中,提供队列的本地支持。服务代理提供了一个基于消息的通信平台,能够用于连接不用的应用构件,形成一个应用整体。l 全文搜索,SQL Server包含了对表中对字符数据执行全文查询对功能特性。全文查询可以包含关键字和语句。l SQL Server提供的其他工具,SQL Server提供了设计、开发、部署和管理关系数据库、分析服务立方体、数据转换包、复制拓扑结构、报表服务和通知服务的工具。对于开发效率,长期以来,阻碍开发人员工作效率提高的一大关键因素就是缺乏用于数据库开发和调试的集成化工具手段。SQL Server 2000实现了与Microsoft Visual Studio之间的高度集成,从而有助于消除上述障碍。而SQL Server则提供从根本上改变数据库开发与部署方式的更多改进特性。具备丰富扩展标记语言(XML)支持特性并与.NET技术和Microsoft开发工具实现高度集成的SQL Server,促使开发人员工作效率和灵活性得到显著提高。针对开发人员工作效率的改进主要体现在以下几方面:l 得到改进的工具手段。开发人员将可为Transact-SQL、XML、多维表达式(MDX)和分析性XML(XML/A)使用单一开发工具。与Visual Studio开发环境的高度集成有助于提高专业和商务智能应用的开发与调试效率。 l 得到扩展的语言支持。开发人员可凭借基于数据库引擎的通用语言运行时(CLR)特性从包括Transact-SQL、Microsoft Visual Basic .NET和Microsoft Visual C# .NET在内的多种数据库应用开发语言中选择自己最熟悉的一种。CLR托管特性将对用户定义类型和函数加以运用,并在此基础上增强开发人员的工作灵活性。此外,CLR还将创造利用第三方代码加速数据库应用开发的宝贵机遇。 l XML与Web服务。诸如Xquery和本地XML数据类型等改进特性有助于组织机构实现内部系统与外部系统之间的无缝化连接。SQL Server将为关系型数据和XML数据提供本地支持,从而使企业单位能够以最适合自身需要的格式进行数据存储、管理和分析。针对超文本传输协议(HTTP)、XML、简单对象访问协议(SOAP)、Xquery和XML架构定义(XSD)等既有和新兴开放标准的支持能力还将为跨越日益扩展企业系统的信息交流提供便利。商务智能的前景与挑战都围绕着在正确的时间为企业员工提供适当的信息这一课题展开。这种构想的实现依赖于全面完整、安全可靠、随时可用并与运营系统高度集成的商务智能解决方案。SQL Server产品家族将凭借SQL Server帮助企业单位实现上述目标。商务智能方面的改进主要包括:l 集成化平台,基于SQL Server 2000构建的SQL Server将为端到端商务智能平台赋予包括联机分析处理(OLAP),数据挖掘,提取、转换与加载(ETL)工具,数据仓库和报告功能等在内的集成化分析处理特性。这种高度综合与集成的技术手段有助于组织机构在控制成本费用水平的同时,完成强大商务智能应用的无缝化创建与部署。 l 得到改进的决策过程,针对现有商务智能特性的改进(如OLAP与数据挖掘)和新型报告服务器的引入可赋予企业单位在从信息工作者到首席执行官(CEO)的所有组织层次上将信息资源转化为优选业务决策的能力。 l 安全性和可用性,伸缩性、可用性和安全性方面的改进将为用户提供针对商务智能应用和报告的不间断访问调用支持。 l 企业级分析能力,得到改进的ETL工具将允许组织机构以更加简便快捷的方式对出自多种不同信息来源的数据资料进行集成化和分析处理。组织机构可基于一系列运营系统开展数据分析活动,并在此基础上通过对自身业务的全面理解赢得宝贵的竞争优势。从以上几个方面,SQL Server为企业用户和开发人员提供了全新的体验,将大大提高企业应用的整体特性。1.2 SQL Server 工具简介SQL Server简单易用,它提供了大量的图形工具,能够完成对SQL Server的管理和开发任务,主要工具包括:l SQL Server管理控制台l 业务智能开发工具l SQL Profilerl SQL 计算机管理器l 数据库调试建议工具l 命令行工具(1) SQL Server管理控制台SQL Server将服务器管理和应用开发集成到单个环境中进行,这就是SQL Server管理控制台(SQL Server Management Studio)和业务智能开发工具(Business Intelligence Development Studio)。工具使用解决方案和工程进行管理和操作。它提供了完整的源代码控制功能,能够同Microsoft Visual Studio .NET集成,但并非是其一部分。控制台主要用于支持业务应用开发,能够支持对SQL Server、SQL Server Mobile、分析服务、数据转换服务和报表服务应用的开发,但是,无法创建自定义应用和更大的开发工程。SQL Server管理控制台是一个集成的开发环境,能够访问、配置、管理和维护SQL Server的所有工具。SQL Server管理控制台可以集成更多的图形工具,提供对SQL Server控制的更多编辑环境。(2) 业务智能开发工具业务智能开发工具(Business Intelligence Development Studio),用于开发业务智能结构,如立方体、数据源、报表和数据转换包。业务智能开发工具包括工程模板,为开发专用结构提供上下文。例如,如果希望创建包含立方体、维和开采模型的分析服务数据库,可以选择分析服务工程。(3) SQL ProfilerSQL Profiler是用于捕获来自服务器的SQL Server事件的工具。事件保存到跟踪文件中,支持后续分析和问题重新演示。SQL Profiler能够支持多种活动,例如:l 深入问题查询,发现问题原因;l 诊断运行时间很长、速度很慢的查询;l 捕获导致问题的SQL语句;l 监视SQL Server 的性能,调试工作负载。SQL Profiler还支持对SQL Server实例执行的活动进行审计。(4) SQL 计算机管理器SQL 计算机管理器(SQL Computer Manager)用于管理同SQL Server相关的服务,并能够配置SQL Server使用的网络协议。SQL 计算机管理器能够添加到Microsoft管理控制台插件中。SQL计算机管理器集成了以下SQL Server 2000的工具:服务器网络工具、客户网络工具和服务管理器。SQL计算机管理器和SQL Server管理控制台都使用Window管理工具(WMI)查看和修改服务器配置。WMI提供了访问调用和管理服务器和客户网络工具功能的注册表操作的统一方式。对计算机管理其插件的SQL服务提供操纵能力。使用SQL 计算机管理器,可以启动、停止、暂停、恢复和配置其它计算机上的服务。SQL 计算机管理器能够显示如下服务:l SQL Serverl SQL Server Agentl Microsoft SQL Server分析服务l 报表服务器l Microsoft Searchl 分布式事务协调器(DTC)l 全文搜索同时,可以查看所选服务的属性,包括:l 名称l 描述l 状态(启动、停止或者暂停)l 启动类型(手动、自动或者禁止)l 登录情况l 最后启动的时间l 最后停止的时间l PID进程标识符使用SQL计算机管理器可以修改SQL Server和SQL Server Agent服务所使用的账号,也可以修改账号的口令。除了修改账号的名称之外,SQL 计算机管理器还可以在Windows注册表中配置权限。使用SQL计算机管理器,还可以配置服务器和客户网络协议,以及连接选项。在大多数情况下,不需要修改服务器网络连接。但是,如果希望重新配置服务器连接,使得SQL Server能够在特定网络协议上进行侦听,可以使用SQL计算机管理器。(5) 数据库调试建议工具数据库调试建议工具(Database Tuning Advisor Tool),可以帮助用户选择和创建索引、索引视图和分区,并不要求用户具有数据库结构、工作负载和SQL Server内核的专业知识。(6) 命令行工具SQL Server提供了命令行工具,使用这些命令,如表1所示,可以同SQL Server进行交互。表1 命令行工具工具说明安装位置bcp 工具 用于在SQL Server实例之间复制数据x:Program FilesMicrosoft SQL Server90ToolsBinn dtexec工具用于配置和执行DTS服务包x:Program FilesMicrosoft SQL Server90DTSbinndtutil工具用于管理数据转换服务包x:Program FilesMicrosoft SQL Server90DTSBinndta工具用于分析工作负载x:Program FilesMicrosoft SQL Server90ToolsBinnnscontrol工具用于管理通知服务x:Program FilesMicrosoft SQL Server90NotificationServices9.0.242binsqlcmd工具允许在命令行输入Transact-SQL语句、系统过程、脚本文件x:Program FilesMicrosoft SQL Server90ToolsBinnosql工具允许在命令行输入Transact-SQL语句、系统过程、脚本文件x:Program FilesMicrosoft SQL Server90ToolsBinn复制分发代理用于在命令行配置和启动分布式代理x:Program FilesMicrosoft SQL Server90COM复制日志阅读器代理用于配置和启动日志阅读器代理x:Program FilesMicrosoft SQL Server90COM复制合并代理 用于配置和其他合并代理x:Program FilesMicrosoft SQL Server90COM复制队列阅读器代理用于配置和启动复制队列阅读器代理x:Program FilesMicrosoft SQL Server90COM复制快照代理 用于启动和配置复制快照代理x:Program FilesMicrosoft SQL Server90COMrs工具用于运行用于管理报表服务的报表服务器的脚本x:Program FilesMicrosoft SQL Server90ToolsBinnrsactivate工具用于初始化一个报表服务器x:Program FilesMicrosoft SQL Server90ToolsBinnrsconfig工具用于配置报表服务器连接x:Program FilesMicrosoft SQL Server90ToolsBinnrskeymgmt工具用于在报表服务器上管理加密键x:Program FilesMicrosoft SQL Server90ToolsBinn2 创建数据库SQL Server提供了多种方式创建、修改和删除数据库。本节主要介绍如何创建、修改和删除数据库。主要内容包括:l 创建数据库l 修改数据库l 删除数据库2.1 创建数据库 在SQL Server中创建数据库主要有两种方法,第一种是在SQL Server Management Studio中使用向导创建数据库;第二种是执行Transact-SQL语句创建数据库。下面我们分别进行介绍。(1)使用SQL Server Management Studio创建数据库在SQL Server Management Studio中,可以使用向导创建数据库,步骤如下:1 打开SQL Server Management Studio,如图1所示。图 1 SQL Server Management Studio2 右击“数据库”对象,在弹出式菜单中选择“新建数据库”菜单项,打开“新建数据库”对话框,如图2所示。图 2 “新建数据库”向导3 在“常规”页,可以定义数据库的名称为EAMS、数据库文件、数据库的所有者、排序规则、恢复模型,以及是否使用全文索引。4 在“选项”页,可以定义数据库的一些选项,包括自动选项、游标选项、混杂选项、恢复选项、行级版本选项和状态选项,如图3所示。图 3 “选项”页5 在“文件组”页,显示文件组和文件的统计信息,同时还可以设置是否采用默认值,如图4所示。图 4 “文件组”页6 在“扩展属性”页,可以定义数据库的一些扩展属性,如图5所示。7 当完成各个选项的定义之后,单击【OK】按钮,SQL Server数据库引擎会创建所定义的数据库。(2)使用Transact-SQL创建数据库Transact-SQL提供了创建数据库的语句:CREATE DATABASE,其语法格式如下:CREATE DATABASE database_name ON ,.n , ,.n LOG ON ,.n COLLATE collation_name FOR ATTACH WITH | ATTACH_REBUILD_LOG WITH ; := PRIMARY ( NAME = logical_file_name , FILENAME = os_file_name , SIZE = size KB | MB | GB | TB , MAXSIZE = max_size KB | MB | GB | TB | UNLIMITED , FILEGROWTH = growth_increment KB | MB | % ) ,.n := FILEGROUP filegroup_name ,.n := DB_CHAINING ON | OFF | TRUSTWORTHY ON | OFF := ENABLE_BROKER | NEW_BROKER | ERROR_BROKER_CONVERSATIONSCreate a Database SnapshotCREATE DATABASE database_snapshot_name ON ( NAME = logical_file_name, FILENAME = os_file_name ) ,.n AS SNAPSHOT OF source_database_name;参数说明如下:l database_name,新数据库的名称。数据库名称在服务器中必须唯一,并且符合标识符的规则。database_name 最多可以包含 128 个字符,除非没有为日志指定逻辑名。如果没有指定日志文件的逻辑名,则SQL Server会通过向 database_name 追加后缀来生成逻辑名。该操作要求 database_name 在 123 个字符之内,以便生成的日志文件逻辑名少于 128 个字符。l ON,指定显式定义用来存储数据库数据部分的磁盘文件(数据文件)。该关键字后跟以逗号分隔的 项列表, 项用以定义主文件组的数据文件。主文件组的文件列表后可跟以逗号分隔的 项列表(可选), 项用以定义用户文件组及其文件。l N,占位符,表示可以为新数据库指定多个文件。l LOG ON,指定显式定义用来存储数据库日志的磁盘文件(日志文件)。该关键字后跟以逗号分隔的 项列表, 项用以定义日志文件。如果没有指定 LOG ON,将自动创建一个日志文件,该文件使用系统生成的名称,大小为数据库中所有数据文件总大小的 25%。l FOR LOAD,支持该子句是为了与早期版本的 SQL Server 兼容。数据库在打开 dbo use only 数据库选项的情况下创建,并且将其状态设置为正在装载。l FOR ATTACH,指定从现有的一组操作系统文件中附加数据库。必须有指定第一个主文件的 条目。至于其它 条目,只需要与第一次创建数据库或上一次附加数据库时路径不同的文件的那些条目。必须为这些文件指定 条目。附加的数据库必须使用与 SQL Server 相同的代码页和排序次序创建。应使用 sp_attach_db 系统存储过程,而不要直接使用 CREATE DATABASE FOR ATTACH。只有必须指定 16 个以上的 项目时,才需要使用 CREATE DATABASE FOR ATTACH。 如果将数据库附加到的服务器不是该数据库从中分离的服务器,并且启用了分离的数据库以进行复制,则应该运行 sp_removedbreplication 从数据库删除复制。l collation_name,指定数据库的默认排序规则。排序规则名称既可以是 Windows 排序规则名称,也可以是 SQL 排序规则名称。如果没有指定排序规则,则将 SQL Server 实例的默认排序规则指派为数据库的排序规则。l PRIMARY,指定关联的 列表定义主文件。主文件组包含所有数据库系统表。还包含所有未指派给用户文件组的对象。主文件组的第一个 条目成为主文件,该文件包含数据库的逻辑起点及其系统表。一个数据库只能有一个主文件。如果没有指定 PRIMARY,那么 CREATE DATABASE 语句中列出的第一个文件将成为主文件。l NAME,为由 定义的文件指定逻辑名称。如果指定了 FOR ATTACH,则不需要指定 NAME 参数。l logical_file_name,用来在创建数据库后执行的 Transact-SQL 语句中引用文件的名称。logical_file_name 在数据库中必须唯一,并且符合标识符的规则。该名称可以是字符或 Unicode 常量,也可以是常规标识符或定界标识符。l FILENAME,为 定义的文件指定操作系统文件名。l os_file_name,操作系统创建 定义的物理文件时使用的路径名和文件名。os_file_name 中的路径必须指定 SQL Server 实例上的目录。os_file_name 不能指定压缩文件系统中的目录。如果文件在原始分区上创建,则 os_file_name 必须只指定现有原始分区的驱动器字母。每个原始分区上只能创建一个文件。原始分区上的文件不会自动增长;因此,os_file_name 指定原始分区时,不需要指定 MAXSIZE 和 FILEGROWTH 参数。l SIZE,指定 中定义的文件的大小。如果主文件的 中没有提供 SIZE 参数,那么 SQL Server 将使用 model 数据库中的主文件大小。如果次要文件或日志文件的 中没有指定 SIZE 参数,则 SQL Server 将使文件大小为 1 MB。l Size, 中定义的文件的初始大小。可以使用千字节 (KB)、兆字节 (MB)、千兆字节 (GB) 或兆兆字节 (TB) 后缀。默认值为 MB。指定一个整数,不要包含小数位。size 的最小值为 512 KB。如果没有指定 size,则默认值为 1 MB。为主文件指定的大小至少应与 model 数据库的主文件大小相同。l MAXSIZE,指定 中定义的文件可以增长到的最大大小。l max_size, 中定义的文件可以增长到的最大大小。可以使用千字节 (KB)、兆字节 (MB)、千兆字节 (GB) 或兆兆字节 (TB) 后缀。默认值为 MB。指定一个整数,不要包含小数位。如果没有指定 max_size,那么文件将增长到磁盘变满为止。 l UNLIMITED,指定 中定义的文件将增长到磁盘变满为止。l FILEGROWTH,指定 中定义的文件的增长增量。文件的 FILEGROWTH 设置不能超过 MAXSIZE 设置。l growth_increment,每次需要新的空间时为文件添加的空间大小。指定一个整数,不要包含小数位。0 值表示不增长。该值可以 MB、KB、GB、TB 或百分比 (%) 为单位指定。如果未在数量后面指定 MB、KB 或 %,则默认值为 MB。如果指定 %,则增量大小为发生增长时文件大小的指定百分比。如果没有指定 FILEGROWTH,则默认值为 10%,最小值为 64 KB。指定的大小舍入为最接近的 64 KB 的倍数。l ,控制文件组的属性。文件组不能在数据库快照上定义。l FILEGROUP,定义文件组的逻辑名。l filegroup_name,表示在创建数据库之后,在Transact-SQL语句中引用文件组的名称。filegroup_name在数据库中必须唯一,不能是系统提供的名称,如PRIMARY和PRIMARY_LOG。名称必须同标识符的规则保持一致。l default,定义文件组为特定文件组类型的默认数据库文件组。l DB_CHAINING ON | OFF ,当设置为ON的时候,数据库可以为交叉数据库所有者关系链中的源或者目标。当设置为OFF的时候,数据库不能参与交叉数据库所有者关系链,对于用户数据库,可以修改这个选项,但是不能修改系统数据库的该选项。默认值为OFF。l TRUSTWORTHY ON | OFF ,当设置为ON的时候,数据库模块(如视图、用户自定义函数或者存储过程)允许访问数据库外的资源。当设置为OFF的时候,数据库模块不能访问数据库之外的资源。默认值为OFF。l ,当授予FOR ATTACH子句的时候,才能设置Service Broker选项。l ENABLE_BROKER,定义数据库是否启用Service Broker。l NEW_BROKER,在sys数据库中和恢复数据库中创建新的service_broker_guid。l ERROR_BROKER_CONVERSATIONS,终止所有发生错误的会话。l database_snapshot_name,定义新数据库的快照名。l ON (NAME =logical_file_name, FILENAME =os_file_name) ,. n ,对于创建一个数据库快照,在源数据库中定义文件列表。l AS SNAPSHOT OF source_database_name,定义创建的数据库为一个源数据库的数据库快照。创建企业信息平台数据库的Transact-SQL语句如下所示。CREATE DATABASE EAMS ON (NAME = NHotop100_Data, FILENAME = ND:Program FilesMicrosoft SQL Server 2000MSSQLDataEAMS_Data.MDF , SIZE = 9, FILEGROWTH = 10%) LOG ON (NAME = NHotop100_Log, FILENAME = ND:Program FilesMicrosoft SQL Server 2000MSSQLDataEAMS_Log.LDF ,SIZE = 68, FILEGROWTH = 10%) COLLATE Chinese_PRC_CI_ASGO2.2 修改数据库 当创建数据库之后,可能需要对原始定义进行修改,例如:l 扩充分配给数据库的数据或事务日志空间。l 收缩分配给数据库的数据或事务日志空间。l 添加或删除数据和事务日志文件。l 创建文件组。l 创建默认文件组。l 更改数据库的配置设置。l 脱机放置数据库。l 附加新数据库或分离未使用的数据库。l 更改数据库名称。l 更改数据库的所有者。 在更改数据库之前,有时需要使数据库退出正常操作模式。在这些情况下,需确定终止事务的适当方法。(1)扩充数据库SQL Server可根据在创建数据库时所定义的增长参数,自动扩充数据库。通过在现有的数据库文件上分配其它的文件空间,或者在另一个新文件上分配空间,还可以手动扩充数据库。如果现有的文件已经充满,则可能需要扩充数据或事务日志空间。如果数据库已经用完分配给它的空间而又不能自动增长,则会出现 1105 错误。扩充数据库时,必须按至少 1 MB 增加该数据库的大小。扩充数据库的权限默认授予数据库所有者,并自动与数据库所有者身份一起传输。数据库扩充后,数据或事务日志文件立即可以使用新空间,这取决于哪个文件进行了扩充。如果事务日志没有设置为自动扩充,则当数据库内发生某些类型的活动时,该事务日志可能会用完所有空间。备份事务日志时,或者在数据库使用简单恢复模型的每个检查点时,只清除事务日志中非活动(已提交)的部分。然后 SQL Server 可以重新使用该事务日志中被截取的、尚未使用的部分。在备份数据库时,SQL Server 不会截断事务日志。在扩充数据库时,建议指定文件的最大允许增长的大小。这样做可以防止文件无限制地增大,以至用尽整个磁盘空间。若要指定文件的最大大小,请在使用SQL Server 企业管理器内的属性对话框创建数据库时,使用 CREATE DATABASE 语句的 MAXSIZE 参数或者将文件增长限制为 (MB)选项。(2)收缩数据库SQL Server允许收缩数据库中的每个文件以删除未使用的页。数据和事务日志文件都可以收缩。数据库文件可以作为组或单独地进行手工收缩。数据库也可设置为按给定的时间间隔自动收缩。该活动在后台进行,并且不影响数据库内的用户活动。当使用 ALTER DATABASE AUTO_SHRINK 选项(或 sp_dboption 系统存储过程)将数据库设置为自动收缩,且数据库中有足够的可用空间时,则会发生收缩。但是,如果不能配置要删除的可用空间的百分比,则将删除尽可能多的可用空间。若要配置将删除的可用空间量,例如只删除数据库中当前可用空间的 50%,请使用SQL Server 企业管理器内的属性对话框进行数据库收缩。不能将整个数据库收缩到比其原始大小还要小。因此,如果数据库创建时的大小为 10 MB,后来增长到 100 MB,则该数据库最小能够收缩到 10 MB(假定已经删除该数据库中所有数据)。但是,使用 DBCC SHRINKFILE 语句,可以将单个数据库文件收缩到比其初始创建大小还要小。必须分别收缩每个文件,而不要试图收缩整个数据库。事务日志文件可在固定的边界内收缩。虚拟日志的大小决定可能减小的大小。因此,不能将日志文件收缩到比虚拟日志文件还小。另外,日志文件可以按与虚拟日志文件的大小相等的增量收缩。例如,一个初始大小为 1 GB 的较大事务日志文件可以包括五个虚拟日志文件(每个文件大小为 200 MB)。收缩事务日志文件将删除未使用的虚拟日志文件,但会留下至少一个虚拟日志文件。因为此示例中的每个虚拟日志文件都是 200 MB,所以事务日志最小只能收缩到 200 MB,且每次只能以 200 MB的大小收缩。若要让事务日志文件收缩得更小,可以创建一个更小的事务日志,并允许它自动增长,而不要创建一个较大的事务日志文件。在 SQL Server中,DBCC SHRINKDATABASE 或 DBCC SHRINKFILE 操作试图立即将事务日志文件收缩到所要求的大小(以四舍五入的值为准)。在收缩文件之前应截断日志文件,以减小逻辑日志的大小并将其标记为不包含逻辑日志任何部分的不活动的虚拟日志。(3)添加和删除数据和事务日志文件可以添加数据和事务日志文件以扩充数据库,或删除它们以收缩数据库。当添加文件时,数据库可以立即使用该文件。SQL Server 在每个文件组内的所有文件上使用按比例填充的策略,根据文件中的可用空间按比例写入数据量,并允许立即开始使用新文件。通过这种方式,所有文件几乎在同一时间趋于充满。但是,事务日志文件不能作为文件组的一部分;它们是相互独立的。当事务日志增长时,使用填充后往下走的策略,而不是按比例填充策略,首先填充第一个日志文件,然后是第二个,依此类推。因此,当添加日志文件时,事务日志可能不能使用该文件,而需等到其它文件已经先填充。将文件添加到数据库时,可以根据需要指定文件的大小(默认为 1 MB)、文件可以增长的最大大小(如果文件内的空间用完)、文件每次需要增长时所增长的数量(默认是 10%),以及文件所属的文件组。删除数据或事务日志文件将从数据库删除该文件。仅当文件上不存在已有的数据或事务日志信息时才可能从数据库删除文件;文件必须完全为空后才能删除。若要将数据从一个数据文件迁移到同一文件组中的其它文件中,请使用 DBCC SHRINKFILE 语句,并指定 EMPTYFILE 子句。SQL Server 即不再允许将数据置于文件上,从而通过使用 ALTER DATABASE 语句或 SQL Server 企业管理器内的属性页,使之能够删除。通过将事务日志数据从一个日志文件迁移到另一个以删除事务日志文件是不可能的。若要从事务日志文件清除非活动的事务,必须截断或备份该事务日志。一旦事务日志文件不再包含任何活动或不活动的事务,该日志文件就可以从数据库中删除。(4)创建文件组在首次创建数据库,或者以后将更多文件添加到数据库时,可以创建文件组。但是,一旦将文件添加到数据库,就不可能再将这些文件移到其它文件组。一个文件不能是多个文件组的成员。表格、索引以及 text、ntext 和 image 数据可以与特定的文件组相关联。这意味着它们的所有页都将从该文件组的文件中分配。有三种类型的文件组:l 主文件组,这些文件组包含主数据文件以及任何其它没有放入其它文件组的文件。系统表的所有页都从主文件组分配。l 用户定义文件组,该文件组是用 CREATE DATABASE 或 ALTER DATABASE 语句中的 FILEGROUP 关键字,或在 SQL Server 企业管理器内的属性对话框上指定的任何文件组。l 默认文件组,默认文件组包含在创建时没有指定文件组的所有表和索引的页。在每个数据库中,每次只能有一个文件组是默认文件组。如果没有指定默认文件组,则默认文件组是主文件组。(5)更改默认文件组更改默认文件组时,最初没有指定文件组的所有对象都被分配到新默认文件组中的数据文件。更改默认文件组可以防止不是专门在用户定义的文件组上创建的用户对象与系统对象和表竞争以获得数据空间。(6)设置数据库选项可以为每个数据库都设置若干个决定数据库特点的数据库级选项。只有系统管理员、数据库所有者以及 sysadmin 和 dbcreator 固定服务器角色和 db_owner 固定数据库角色的成员才能修改这些选项。这些选项对于每个数据库都是唯一的,而且不影响其它数据库。可以使用 ALTER DATABASE 语句的 SET 子句、sp_dboption 系统存储过程,或者在某些情况下使用 SQL Server 企业管理
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025福建厦门市湖里区招商服务有限公司招聘21人笔试参考题库附带答案详解
- 2025玉溪红塔实业有限责任公司员工招聘(29人)笔试参考题库附带答案详解
- 2025湖北鄂州市鄂城区国控投资集团下属子公司招聘17人笔试参考题库附带答案详解
- 2025浙江金华义乌市属国有企业招聘74人笔试参考题库附带答案详解
- 2026及未来5年中国1-苯基哌嗪盐酸盐市场数据分析及竞争策略研究报告
- 陕西省2025咸阳旬邑县农技推广服务人员招聘(12人)笔试历年参考题库典型考点附带答案详解
- 莱州市2025山东烟台市莱州市教育体育系统事业单位招聘37人笔试历年参考题库典型考点附带答案详解
- 河南省2025河南南阳师范学院招聘员额制硕士研究生15人笔试历年参考题库典型考点附带答案详解
- 巴中市2025四川巴中市财政投资评审中心招聘编外辅助性岗位专业技术人员1人笔试历年参考题库典型考点附带答案详解
- DB3706-T 84-2023 拥军门店等级划分与评定
- 太空舱产品买卖合同
- 《新能源发电与控制技术 第4版》 课件 第1章 新能源发电与控制技术导论
- DL-T5418-2009火电厂烟气脱硫吸收塔施工及验收规程
- 安全隐患排查及整改制度
- 人教版小学四年级信息技术上册知识点整理与归纳
- 饭店送餐合同协议书
- 《肿瘤分子生物学》课件
- 记账凭证封面直接打印模板
- 治安管理处罚法一本通
- 2023年湖南省长沙市中考物理试题(原卷)
- 头针疗法幻灯片
评论
0/150
提交评论