SQL SERVER 2008 与T-SQL编程_第1页
SQL SERVER 2008 与T-SQL编程_第2页
SQL SERVER 2008 与T-SQL编程_第3页
SQL SERVER 2008 与T-SQL编程_第4页
SQL SERVER 2008 与T-SQL编程_第5页
已阅读5页,还剩258页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、应用系统设计与实践应用系统设计与实践郭贵锁郭贵锁资料下载:资料下载:课程内容、性质与任务课程内容、性质与任务课程内容课程内容SQL Server 2005基本操作与管理基本操作与管理Transact-SQL编程编程数据库设计数据库设计课程性质课程性质计算机类专业必修课计算机类专业必修课“数据库原理与设计数据库原理与设计”课程的配套实践课程。课程的配套实践课程。任务任务培养使用商用数据库管理系统和编写培养使用商用数据库管理系统和编写SQL程序的实践经验,掌握数据库程序的实践经验,掌握数据库应用系统的数据模型设计方法和系统开发方法。应用系统的数据模型设计方法和系统开发方法。课程要求课程要求实验报告

2、:提交第一部分(共实验报告:提交第一部分(共4个实验)的实验报告。报告的内容包个实验)的实验报告。报告的内容包括文字描述和上机结果。提交打印结果与实验数据。括文字描述和上机结果。提交打印结果与实验数据。实验报告的文字描述是对上机过程的总结,包括每一部分完成的步骤和实验报告的文字描述是对上机过程的总结,包括每一部分完成的步骤和结果。使用结果。使用WORD文档。文档。实验结果中第一部分实验是所用的数据库的备份,所创建的表、插入的实验结果中第一部分实验是所用的数据库的备份,所创建的表、插入的记录应记录和创建的存储过程等应包括在备份的数据库中。记录应记录和创建的存储过程等应包括在备份的数据库中。考试:

3、笔试考试:笔试(40分分)和上机考试和上机考试(40分分)(时间未定)(时间未定),平时成绩平时成绩20分。分。教材教材信息系统开发教程信息系统开发教程-使用使用C#和和SQL SERVER 2005清华大学出版社清华大学出版社马威马威,吕文哲吕文哲,曹瑞曹瑞2007年年4月第月第1版版ISBN 9787302146186参考书参考书SQL Server 2000开发指南开发指南清华大学出版社清华大学出版社2002年年1月第月第1版版ISBN 7-302-05106-2/TP.2988VISUAL C# .NET技术内幕技术内幕清华大学出版社清华大学出版社(美)(美)MICKEY WILLIA

4、MS著著,冉晓旻冉晓旻 罗邓罗邓 郭炎译郭炎译2004年年6月月Erwin数据建模数据建模电子工业出版社电子工业出版社杨国强、路萍、张志军杨国强、路萍、张志军 编著编著2004年年10月月主流商用主流商用DBMSOracleDB2SybaseMS SQL ServerInformix数据库管理软件的市场数据库管理软件的市场据据IDC报告数据显示,报告数据显示,2006年全球数据库市场规模达到了年全球数据库市场规模达到了165亿美元。亿美元。虽然现在开源数据库的势头不可阻挡,但在全球数据库市场分布中,虽然现在开源数据库的势头不可阻挡,但在全球数据库市场分布中,前三甲的位置始终被前三甲的位置始终被

5、Oracle、DB2、SQL Server所占据。所占据。 占据榜首位置的依然是占据榜首位置的依然是Oracle。Oracle在在2006年中的销售额为年中的销售额为73亿美元,亿美元,销售额同比增长额为销售额同比增长额为14.7%。Oracle占据了占据了44.4%的市场份额,。的市场份额,。 IBM凭借凭借DB2,在,在2006年中的销售额同比增长了年中的销售额同比增长了11.9%,2006年全年销年全年销售额为售额为35亿美元,占据市场份额为亿美元,占据市场份额为21.2%。 排在第三位置的依然是微软公司的排在第三位置的依然是微软公司的SQL Server。虽然。虽然SQL Server

6、在在2006全年销售额为全年销售额为31亿美元,市场份额为亿美元,市场份额为18.6%。但是,。但是,SQL Server的的销售额同比涨幅达到了最高,为销售额同比涨幅达到了最高,为25%,远远超过了,远远超过了Oracle和和DB2的同比的同比涨幅额度。涨幅额度。SQL Server的版本的版本年份年份版本版本说明说明1988SQL Server与与Sybase共同开发共同开发,运行于运行于OS/2上的联合应用程序上的联合应用程序1993SQL Server 4.2功能较少的桌面系统功能较少的桌面系统1994与与Sybase终止合作关系终止合作关系1995SQL Server 6.05小型商

7、用数据库管理系统小型商用数据库管理系统1996SQL Server 6.51998SQL Server 7.02000SQL Server 2000企业级数据库企业级数据库2005SQL Server 2005企业级数据库企业级数据库SQL Server 2005简介简介SQL Server 是一个全面是一个全面的、集成的、端到端的的、集成的、端到端的数据解决方案,它为组数据解决方案,它为组织中的用户提供了一个织中的用户提供了一个更安全可靠和更高效的更安全可靠和更高效的平台用于企业数据和平台用于企业数据和 BI 应用。应用。SQL Server 2005 为为 IT 专家和信息专家和信息工作者

8、带来了强大的、工作者带来了强大的、熟悉的工具,同时降低熟悉的工具,同时降低了在从移动设备到企业了在从移动设备到企业数据系统的多平台上创数据系统的多平台上创建、部署、管理和使用建、部署、管理和使用企业数据和分析应用程企业数据和分析应用程序的复杂性。序的复杂性。 数据库引擎数据库引擎Microsoft SQL Server 2005 Database Engine 是用于存储、处理和保护是用于存储、处理和保护数据的核心服务。利用数数据的核心服务。利用数据库引擎据库引擎 可控制访问权限可控制访问权限并快速处理事务。并快速处理事务。数据库引擎的任务数据库引擎的任务设计并创建数据库以保存系统所需的关系表

9、或设计并创建数据库以保存系统所需的关系表或 XML 文档。文档。实现系统以访问和更改数据库中存储的数据。实现系统以访问和更改数据库中存储的数据。提供日常管理支持以优化数据库的性能。提供日常管理支持以优化数据库的性能。分析服务分析服务Microsoft SQL Server 2005 Analysis Services (SSAS) 为商业智为商业智能应用程序提供了联机分析处理能应用程序提供了联机分析处理 (OLAP) 和数据挖掘功能。和数据挖掘功能。Analysis Services 允许设计、创建和管理包含多维结构,使其包含允许设计、创建和管理包含多维结构,使其包含从其他数据源(例如关系数据

10、库)聚合的数据,并通过这种方式来支从其他数据源(例如关系数据库)聚合的数据,并通过这种方式来支持持 OLAP。对于数据挖掘应用程序,对于数据挖掘应用程序,Analysis Services 允许使用多种行业标准允许使用多种行业标准的数据挖掘算法来设计、创建和可视化从其他数据源构造的数据挖掘的数据挖掘算法来设计、创建和可视化从其他数据源构造的数据挖掘模型。模型。集成服务集成服务Microsoft SQL Server 2005 Integration Services (SSIS) 是生成高是生成高性能数据集成解决方案(包括数据仓库的提取、转换和加载性能数据集成解决方案(包括数据仓库的提取、转换

11、和加载 (ETL) 包)包)的平台。的平台。Integration Services 包含用于生成和调试包的图形工具及向导;用包含用于生成和调试包的图形工具及向导;用于执行工作流功能的任务,例如于执行工作流功能的任务,例如 FTP 操作、操作、SQL 语句执行和电子邮语句执行和电子邮件消息处理;用于提取和加载数据的数据源和目标;用于清理、聚合、件消息处理;用于提取和加载数据的数据源和目标;用于清理、聚合、合并和复制数据的转换;用于管理合并和复制数据的转换;用于管理 Integration Services 的管理服务的管理服务 Integration Services;以及对;以及对 Inte

12、gration Services 对象模型进行对象模型进行编程的应用程序编程接口编程的应用程序编程接口 (API)。复制复制复制是在数据库之间对数据和数据库对象进行复制和分发,然后在数复制是在数据库之间对数据和数据库对象进行复制和分发,然后在数据库之间进行同步以保持一致性的一组技术。使用复制可以将数据通据库之间进行同步以保持一致性的一组技术。使用复制可以将数据通过局域网、广域网、拨号连接、无线连接和过局域网、广域网、拨号连接、无线连接和 Internet 分发到不同位分发到不同位置以及分发给远程用户或移动用户。置以及分发给远程用户或移动用户。报表服务报表服务Microsoft SQL Serv

13、er 2005 Reporting Services 是一种基于服务是一种基于服务器的解决方案,用于生成从多种关系数据源和多维数据源提取内容的器的解决方案,用于生成从多种关系数据源和多维数据源提取内容的企业报表,发布能以各种格式查看的报表,以及集中管理安全性和订企业报表,发布能以各种格式查看的报表,以及集中管理安全性和订阅。阅。Reporting Services 包含用于创建和发布报表及报表模型的图形工包含用于创建和发布报表及报表模型的图形工具和向导;用于管理具和向导;用于管理 Reporting Services 的报表服务器管理工具;的报表服务器管理工具;以及用于对以及用于对 Repor

14、ting Services 对象模型进行编程和扩展的应用程对象模型进行编程和扩展的应用程序编程接口序编程接口 (API)。通知服务通知服务Microsoft SQL Server 2005 Notification Services 平台用于开发和平台用于开发和部署可生成并发送通知的应用程序。可以使用部署可生成并发送通知的应用程序。可以使用 Notification Services 生成并向大量订阅方及时发送个性化的消息,还可以向各种各样的设生成并向大量订阅方及时发送个性化的消息,还可以向各种各样的设备传递消息。备传递消息。服务代理服务代理Service Broker 是是 数据库引擎数据库

15、引擎 的一部分。的一部分。Service Broker 提供:提供:用来在用来在 SQL Server 数据库中存储消息队列的设备。数据库中存储消息队列的设备。应用程序可以用来发送和接收队列消息的新应用程序可以用来发送和接收队列消息的新 Transact-SQL 语句。语句。全文搜索全文搜索Microsoft SQL Server 2005 包含对包含对 SQL Server 表中基于纯字符的表中基于纯字符的数据进行全文查询所需的功能。全文查询可以包括单词和短语,或者数据进行全文查询所需的功能。全文查询可以包括单词和短语,或者一个单词或短语的多种形式。一个单词或短语的多种形式。管理数据库引擎管

16、理数据库引擎使用使用 SQL Server 服务服务SQL Server 服务可以在本地或远程作为服务来启动和停止。服务可以在本地或远程作为服务来启动和停止。SQL Server 服务若是默认实例,则被称为服务若是默认实例,则被称为 SQL Server (MSSQLSERVER);若是命名实例,则被称为若是命名实例,则被称为 MSSQL$。使用使用 SQL Server 配置管理器配置管理器SQL Server 配置管理器组合了以下配置管理器组合了以下 SQL Server 2000 工具的功能:服工具的功能:服务器网络实用工具、客户端网络实用工具和服务管理器。务器网络实用工具、客户端网络实

17、用工具和服务管理器。SQL Server 配配置管理器允许停止、启动、或暂停各种置管理器允许停止、启动、或暂停各种 SQL Server 2005 服务。服务。管理服务器管理服务器注册服务器注册服务器并发管理操作并发管理操作管理大型数据库的内存管理大型数据库的内存使用专用管理连接使用专用管理连接链接服务器链接服务器连接服务器连接服务器连接服务器连接服务器-服务器类型服务器类型连接服务器连接服务器-连接选项连接选项连接选项连接选项连接到数据库连接到数据库从列表中选择要连接到的数据库。如果选择从列表中选择要连接到的数据库。如果选择“”,则将连接到服务器的默认数据库。,则将连接到服务器的默认数据库。

18、如果选择如果选择“”,则可以浏览服务器以查找要连接到的数据库。,则可以浏览服务器以查找要连接到的数据库。网络协议网络协议从该列表中选择某个协议。可用的客户端协议是您使用从该列表中选择某个协议。可用的客户端协议是您使用“计算机管理计算机管理”中的中的“客户端网络配客户端网络配置置”所配置的那些协议。所配置的那些协议。网络数据包大小网络数据包大小输入要发送的网络数据包的大小。默认为输入要发送的网络数据包的大小。默认为 4096 字节。字节。连接超时值连接超时值输入在超时之前等待建立连接的秒数。默认值为输入在超时之前等待建立连接的秒数。默认值为 15 秒。秒。执行超时值执行超时值输入在服务器上完成任

19、务执行之前等待的时间(秒)。默认值为零秒,指示无超时。输入在服务器上完成任务执行之前等待的时间(秒)。默认值为零秒,指示无超时。加密连接加密连接强制对连接进行加密。强制对连接进行加密。全部重置全部重置将所有手动输入的连接属性值替换为默认值。将所有手动输入的连接属性值替换为默认值。连接连接使用列出的值尝试连接。使用列出的值尝试连接。选项选项单击此项可更改对话框并隐藏其他服务器连接选项,如注册服务器和记住密码。单击此项可更改对话框并隐藏其他服务器连接选项,如注册服务器和记住密码。身份验证模式身份验证模式Windows 身份验证模式身份验证模式混合模式(混合模式(Windows 身份验证或身份验证或

20、 SQL Server 身份验证)身份验证) Windows 身份验证模式身份验证模式 用户通过用户通过 Microsoft Windows 用户帐户连接时,用户帐户连接时,SQL Server 使用使用 Windows 操作系统中的信息验证帐户名和密码。这是默认的身份验操作系统中的信息验证帐户名和密码。这是默认的身份验证模式,比混合模式安全得多。证模式,比混合模式安全得多。如果选择如果选择 Windows 身份验证,安装程序会创建一个在默认情况下禁身份验证,安装程序会创建一个在默认情况下禁用的用的 sa 帐户。帐户。 WindowsWindows 用户administrators组guoad

21、ministratordavidericWindows身份验证BULTINadministratorsSQL Server登录名sa混合模式(混合模式(Windows 身份验证或身份验证或 SQL Server 身份验证)身份验证)允许用户使用允许用户使用 Windows 身份验证或身份验证或 SQL Server 身份验证进行连接。身份验证进行连接。通过通过 Windows 用户帐户连接的用户可以使用用户帐户连接的用户可以使用 Windows 验证的受信验证的受信任连接。任连接。如果必须选择如果必须选择“混合模式身份验证混合模式身份验证”并要求使用并要求使用 SQL 登录以适应旧登录以适应旧

22、式应用程序,则必须为所有式应用程序,则必须为所有 SQL 帐户设置强密码。帐户设置强密码。(演示演示)更改服务器身份验证模式更改服务器身份验证模式 在在 SQL Server Management Studio 对象资源管理器中,右键单击对象资源管理器中,右键单击服务器,再单击服务器,再单击“属性属性”。在在“安全性安全性”页上的页上的“服务器身份验证服务器身份验证”下,选择新的服务器身份验下,选择新的服务器身份验证模式,再单击证模式,再单击“确定确定”。在在 SQL Server Management Studio 对话框中,单击对话框中,单击“确定确定”确认确认需要重新启动需要重新启动 S

23、QL Server。重新启动重新启动SQL Server服务服务(演示演示)安全架构安全架构安全架构安全架构数据库安全数据库安全-主体主体“主体主体”是可以请求是可以请求 SQL Server 资源的个体、组和过程。与资源的个体、组和过程。与 SQL Server 授权模型的其他组件一样,主体也可以按层次结构排列。授权模型的其他组件一样,主体也可以按层次结构排列。Windows级别的主体级别的主体SQL Server级别的主体级别的主体数据库级别的主体数据库级别的主体主体的影响范围取决于主体定义的范围(主体的影响范围取决于主体定义的范围(Windows、服务器或数据、服务器或数据库)以及主体是

24、否不可分或是一个集合。例如,库)以及主体是否不可分或是一个集合。例如,Windows 登录名就登录名就是一个不可分主体,而是一个不可分主体,而 Windows 组则是一个集合主体。每个主体都组则是一个集合主体。每个主体都有一个唯一的安全标识符有一个唯一的安全标识符 (SID)。各级别的主体各级别的主体Windows级别的主体级别的主体Windows域登录名域登录名Windows本地登录名本地登录名SQL Server级别的主体级别的主体SQL Server登录名登录名数据库级别的主体数据库级别的主体数据库用户数据库用户数据库角色数据库角色应用程序角色应用程序角色数据库用户数据库用户数据库用户是

25、数据库级别上的主体。每个数据库用户都是数据库用户是数据库级别上的主体。每个数据库用户都是 public 角角色的成员。色的成员。在数据库中,用户与登录账号是两个不同的概念。一个合法的登录账在数据库中,用户与登录账号是两个不同的概念。一个合法的登录账号只表明该账号通过了号只表明该账号通过了NT 认证或认证或SQL Server 认证,但不能表明其认证,但不能表明其可以对数据库数据和数据对象进行某种或某些操作,所以一个登录账可以对数据库数据和数据对象进行某种或某些操作,所以一个登录账号总是与一个或多个数据库用户(这些用户必须分别存在相异的数据号总是与一个或多个数据库用户(这些用户必须分别存在相异的

26、数据库中)相对应,这样才可以访问数据库。例如,登录账号库中)相对应,这样才可以访问数据库。例如,登录账号sa 自动与自动与每一个数据库用户每一个数据库用户dbo 相关联。相关联。用户、数据库角色应用程序角色Master数据库用户、数据库角色应用程序角色Finance数据库用户、数据库角色应用程序角色Course数据库登录与用户的映射登录与用户的映射服务器安全性-登录sastudentteacherguestdbostudentteacherguestdboteacherCourse数据库Finance数据库guest 用户用户默认情况下,数据库创建时就包含一个默认情况下,数据库创建时就包含一个

27、 guest 用户。授予用户。授予 guest 用用户的权限由在数据库中没有用户映射的登录继承。户的权限由在数据库中没有用户映射的登录继承。guest 用户不能删除,但可以通过在用户不能删除,但可以通过在 master 和和 temp 以外的任何数以外的任何数据库中执行据库中执行 REVOKE CONNECT FROM GUEST 来撤消该用户的来撤消该用户的 CONNECT 权限,从而禁用该用户。权限,从而禁用该用户。固定服务器角色固定服务器角色固定服务器角色固定服务器角色描述描述sysadmin可以在 SQL Server 中执行任何活动。serveradmin可以设置服务器范围的配置选项

28、,关闭服务器。setupadmin可以管理链接服务器和启动过程。securityadmin可以管理登录和 CREATE DATABASE 权限,还可以读取错误日志和更改密码。processadmin可以管理在 SQL Server 中运行的进程。dbcreator可以创建、更改和除去数据库。diskadmin可以管理磁盘文件。bulkadmin可以执行 BULK INSERT 语句。固定服务器角色的权限不能修改,角色也不能删除。可以从固定服务器角色的权限不能修改,角色也不能删除。可以从 sp_helpsrvrole 获得固定服务器角色的列表,可以从获得固定服务器角色的列表,可以从 sp_srv

29、rolepermission 获得每个角色的特定权限。获得每个角色的特定权限。固定数据库角色固定数据库角色可以从可以从 sp_helpdbfixedrole 获得固定数据库角色的列表,可以从获得固定数据库角色的列表,可以从 sp_dbfixedrolepermission 获得每个角色的特定权限。获得每个角色的特定权限。固定数据库角色固定数据库角色描述描述db_owner在数据库中有全部权限。db_accessadmin可以添加或删除用户 ID。db_securityadmin可以管理全部权限、对象所有权、角色和角色成员资格。db_ddladmin可以发出 ALL DDL,但不能发出 GRAN

30、T、REVOKE 或 DENY 语句。db_backupoperator可以发出 DBCC、CHECKPOINT 和 BACKUP 语句。db_datareader可以选择数据库内任何用户表中的所有数据。db_datawriter可以更改数据库内任何用户表中的所有数据。db_denydatareader不能选择数据库内任何用户表中的任何数据。db_denydatawriter不能更改数据库内任何用户表中的任何数据。public 角色角色public 角色是一个特殊的数据库角色,每个数据库用户都属于它。角色是一个特殊的数据库角色,每个数据库用户都属于它。public 角色:角色: 捕获数据库中用

31、户的所有默认权限。捕获数据库中用户的所有默认权限。无法将用户、组或角色指派给它,因为默认情况下它们即属于该角色。无法将用户、组或角色指派给它,因为默认情况下它们即属于该角色。含在每个数据库中,包括含在每个数据库中,包括 master、msdb、tempdb、model 和所有用和所有用户数据库。户数据库。无法除去。无法除去。系统管理员系统管理员 (sa) 登录登录系统管理员系统管理员 (sa) 是为向后兼容而提供的特殊登录。默认情况下,它是为向后兼容而提供的特殊登录。默认情况下,它指派给固定服务器角色指派给固定服务器角色 sysadmin,并不能进行更改。,并不能进行更改。虽然虽然 sa 是内

32、置的管理员登录,但不应例行公事地使用它。相反,应是内置的管理员登录,但不应例行公事地使用它。相反,应使系统管理员成为使系统管理员成为 sysadmin 固定服务器角色的成员,并让他们使用固定服务器角色的成员,并让他们使用自己的登录来登录。只有当没有其它方法登录到自己的登录来登录。只有当没有其它方法登录到 Microsoft SQL Server 实例(例如,当其它系统管理员不可用或忘记了密码)时实例(例如,当其它系统管理员不可用或忘记了密码)时才使用才使用 sa。使用使用SQL Server登录登录sa修改数据库服务器为混合验证模式修改数据库服务器为混合验证模式修改修改sa登录的密码登录的密码

33、(强密码强密码)修改修改sa登录的状态登录的状态(演示演示)数据库的所有者数据库的所有者dbo 是具有在数据库中执行所有活动的暗示性权限的用户。将固定服是具有在数据库中执行所有活动的暗示性权限的用户。将固定服务器角色务器角色 sysadmin 的任何成员都映射到每个数据库内称为的任何成员都映射到每个数据库内称为 dbo 的的一个特殊用户上。另外,由固定服务器角色一个特殊用户上。另外,由固定服务器角色 sysadmin 的任何成员创的任何成员创建的任何对象都自动属于建的任何对象都自动属于 dbo。数据库的所有者数据库的所有者无法删除无法删除 dbo 用户,且此用户始终出现在每个数据库中。用户,且

34、此用户始终出现在每个数据库中。只有由只有由 sysadmin 固定服务器角色成员(或固定服务器角色成员(或 dbo 用户)创建的对象用户)创建的对象才属于才属于 dbo。由任何其他不是。由任何其他不是 syadmin 固定服务器角色成员的用户固定服务器角色成员的用户(包括(包括 db_owner 固定数据库角色成员)创建的对象:固定数据库角色成员)创建的对象: 属于创建该对象的用户,而不是属于创建该对象的用户,而不是 dbo。用创建该对象的用户名限定。用创建该对象的用户名限定。数据库的数据库的guest用户用户guest 用户帐户允许没有用户帐户的登录访问数据库。当满足下列所用户帐户允许没有用

35、户帐户的登录访问数据库。当满足下列所有条件时,登录采用有条件时,登录采用 guest 用户的标识:用户的标识: 登录有访问登录有访问 Microsoft SQL Server 实例的权限,但没有通过自己的实例的权限,但没有通过自己的用户帐户访问数据库的权限。用户帐户访问数据库的权限。数据库中含有数据库中含有 guest 用户帐户。用户帐户。 添加添加guest用户用户可以将权限应用到可以将权限应用到 guest 用户,就如同它是任何其它用户一样。可用户,就如同它是任何其它用户一样。可以在除以在除 master 和和 tempdb 外(在这两个数据库中它必须始终存在)外(在这两个数据库中它必须始

36、终存在)的所有数据库中添加或删除的所有数据库中添加或删除 guest 用户。用户。例如,若要将例如,若要将 guest 用户添加到名为用户添加到名为 Accounts 的数据库中,请在的数据库中,请在 SQL 查询分析器中运行下列代码:查询分析器中运行下列代码:USE AccountsGOEXECUTE sp_grantdbaccess guest添加添加Windows验证验证创建创建Windows用户或组用户或组在在SQL Server中使用所创建的中使用所创建的Windows用户或组创建登录用户或组创建登录为新的登录指定服务器角色为新的登录指定服务器角色使用新的使用新的Windows用户或

37、组登录用户或组登录Windows登录登录SQL Server(演示演示)架构架构(SCHEMA)架构是形成单个命名空间的数据库实体的集合。命名空间是一个集合,架构是形成单个命名空间的数据库实体的集合。命名空间是一个集合,其中每个元素的名称都是唯一的。例如其中每个元素的名称都是唯一的。例如:accounting.ap.george.reconciliation架构包含数据库对象,如表、视图和存储过程。架构所有者可以是数架构包含数据库对象,如表、视图和存储过程。架构所有者可以是数据库用户、数据库角色,也可以是应用程序角色。据库用户、数据库角色,也可以是应用程序角色。在在 SQL Server 20

38、00 中,数据库用户和架构是隐式连接在一起的。中,数据库用户和架构是隐式连接在一起的。每个数据库用户都是与该用户同名的架构的所有者。对象的所有者在每个数据库用户都是与该用户同名的架构的所有者。对象的所有者在功能上与包含它的架构所有者相同。因而,功能上与包含它的架构所有者相同。因而,SQL Server 2000 中的完中的完全限定名称的全限定名称的“架构架构”也是数据库中的用户。也是数据库中的用户。在在 SQL Server 2005 中,架构独立于创建它们的数据库用户而存在。中,架构独立于创建它们的数据库用户而存在。可以在不更改架构名称的情况下转让架构的所有权。可以在不更改架构名称的情况下转

39、让架构的所有权。默认架构默认架构SQL Server 2005 还引入了还引入了“默认架构默认架构”的概念,用于解析未使用其的概念,用于解析未使用其完全限定名称引用的对象的名称。完全限定名称引用的对象的名称。在在 SQL Server 2000 中,首先检查的是调用数据库用户所拥有的架中,首先检查的是调用数据库用户所拥有的架构,然后是构,然后是 DBO 拥有的架构。拥有的架构。在在 SQL Server 2005 中,每个用户都有一个默认架构,用于指定服中,每个用户都有一个默认架构,用于指定服务器在解析对象的名称时将要搜索的第一个架构。可以使用务器在解析对象的名称时将要搜索的第一个架构。可以使

40、用 CREATE USER 和和 ALTER USER 的的 DEFAULT_SCHEMA 选项设置选项设置和更改默认架构。如果未定义和更改默认架构。如果未定义 DEFAULT_SCHEMA,则数据库用户,则数据库用户将把将把 DBO 作为其默认架构。作为其默认架构。架构在数据库中的位置架构在数据库中的位置数据库中预定义的架构数据库中预定义的架构架构所有者架构所有者架构的所有者可以修改,它可以是数据库用户、数据库角色或应用程架构的所有者可以修改,它可以是数据库用户、数据库角色或应用程序角色。序角色。用户与架构分离的优点用户与架构分离的优点多个用户可以通过角色成员身份或多个用户可以通过角色成员身

41、份或 Windows 组成员身份拥有一个架组成员身份拥有一个架构。构。简化了删除数据库用户的操作。简化了删除数据库用户的操作。删除数据库用户不需要重命名该用户架构所包含的对象。删除数据库用户不需要重命名该用户架构所包含的对象。多个用户可以共享一个默认架构以进行统一名称解析。多个用户可以共享一个默认架构以进行统一名称解析。开发人员通过共享默认架构可以将共享对象存储在为特定应用程序专开发人员通过共享默认架构可以将共享对象存储在为特定应用程序专门创建的架构中,而不是门创建的架构中,而不是 DBO 架构中。架构中。 可以用比早期版本中的粒度更大的粒度管理架构和架构包含的对象的可以用比早期版本中的粒度更

42、大的粒度管理架构和架构包含的对象的权限。权限。完全限定的对象名称现在包含四部分:完全限定的对象名称现在包含四部分:server.database.schema.object。多个多个 SQL Server 实例实例Microsoft SQL Server 2005 支持在同一台计算机上同时运行多个支持在同一台计算机上同时运行多个 SQL Server 数据库引擎实例。每个数据库引擎实例。每个 SQL Server 数据库引擎实例各有一套不为其数据库引擎实例各有一套不为其它实例共享的系统及用户数据库。它实例共享的系统及用户数据库。默认实例默认实例默认实例仅由运行该实例的计算机的名称唯一标识,它没

43、有单独的实例名。如果默认实例仅由运行该实例的计算机的名称唯一标识,它没有单独的实例名。如果应用程序在请求连接应用程序在请求连接 SQL Server 时只指定了计算机名,则时只指定了计算机名,则 SQL Server 客户端客户端组件将尝试连接这台计算机上的数据库引擎默认实例。组件将尝试连接这台计算机上的数据库引擎默认实例。一台计算机上只能有一个默认实例,而默认实例可以是一台计算机上只能有一个默认实例,而默认实例可以是 SQL Server 的任何版本。的任何版本。命名实例命名实例除默认实例外,所有数据库引擎实例都由安装该实例的过程中指定的实例名标识。除默认实例外,所有数据库引擎实例都由安装该

44、实例的过程中指定的实例名标识。应用程序必须提供准备连接的计算机的名称和命名实例的实例名。应用程序必须提供准备连接的计算机的名称和命名实例的实例名。计算机名和实计算机名和实例名以格式例名以格式 computer_nameinstance_name 指定。指定。一台计算机上可以运行多个命名实例,但只有一台计算机上可以运行多个命名实例,但只有 SQL Server 2005 数据库引擎才可数据库引擎才可作为命名实例运行。单个服务器或处理器上的所有实例必须是作为命名实例运行。单个服务器或处理器上的所有实例必须是 SQL Server 2005 的同一本地化版本。的同一本地化版本。实例组成实例组成系统和

45、用户数据库。系统和用户数据库。SQL Server 和和 SQL Server 代理服务。代理服务。与数据库引擎、与数据库引擎、SQL Server 和和 SQL Server 代理服务相关联的注册代理服务相关联的注册表键。表键。使应用程序能连接特定实例的网络连接地址。使应用程序能连接特定实例的网络连接地址。数据库构架数据库构架每个每个 SQL Server 实例有四个系统数据库(实例有四个系统数据库(master、model、tempdb 和和 msdb)以及一个或多个用户数据库。有些单位只使用一个用户数据库来存)以及一个或多个用户数据库。有些单位只使用一个用户数据库来存储其所有数据。储其所

46、有数据。master数据库数据库master 数据库记录数据库记录 SQL Server 系统的所有系统级信息。这包括实系统的所有系统级信息。这包括实例范围的元数据(例如登录帐户)、端点、链接服务器和系统配置设例范围的元数据(例如登录帐户)、端点、链接服务器和系统配置设置。置。此外,此外,master 数据库还记录了所有其他数据库的存在、数据库文件数据库还记录了所有其他数据库的存在、数据库文件的位置以及的位置以及 SQL Server 的初始化信息。因此,如果的初始化信息。因此,如果 master 数据库数据库不可用,则不可用,则 SQL Server 无法启动。无法启动。在在 SQL Ser

47、ver 2005 中,系统对象不再存储在中,系统对象不再存储在 master 数据库中,数据库中,而是存储在而是存储在 Resource 数据库中。数据库中。model数据库数据库model 数据库用作在数据库用作在 SQL Server 实例上创建的所有数据库的模板。实例上创建的所有数据库的模板。因为每次启动因为每次启动 SQL Server 时都会创建时都会创建 tempdb,所以,所以 model 数据数据库必须始终存在于库必须始终存在于 SQL Server 系统中。系统中。msdb数据库数据库msdb 数据库由数据库由 SQL Server 代理用于计划警报和作业,也可以由其代理用于

48、计划警报和作业,也可以由其他功能(如他功能(如 Service Broker 和数据库邮件)使用。和数据库邮件)使用。Resource数据库数据库Resource 数据库是只读数据库,它包含了数据库是只读数据库,它包含了 SQL Server 2005 中的中的所有系统对象。所有系统对象。SQL Server 系统对象(例如系统对象(例如 sys.objects)在物理)在物理上持续存在于上持续存在于 Resource 数据库中,但在逻辑上,它们出现在每个数数据库中,但在逻辑上,它们出现在每个数据库的据库的 sys 架构中。架构中。Resource 数据库不包含用户数据或用户元数据。数据库不包

49、含用户数据或用户元数据。Resource 数据库的物理文件名是数据库的物理文件名是 mssqlsystemresource.mdf 和和 mssqlsystemresource.ldf。默认情况下,这些文件位于。默认情况下,这些文件位于 :Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDataResource 数据库依赖于数据库依赖于 master 数据库的位置。如果移动了数据库的位置。如果移动了 master 数据库,则必须也将数据库,则必须也将 Resource 数据库移动到相同的位置。数据库移动到相同的位置。tempdb数据库数据库tempdb

50、 系统数据库是一个全局资源,可供连接到系统数据库是一个全局资源,可供连接到 SQL Server 实例实例的所有用户使用,并可用于保存下列各项:的所有用户使用,并可用于保存下列各项: 显式创建的临时用户对象,例如全局或局部临时表、临时存储过程、表显式创建的临时用户对象,例如全局或局部临时表、临时存储过程、表变量或游标。变量或游标。SQL Server 2005 数据库引擎创建的内部对象,例如,用于存储排序的数据库引擎创建的内部对象,例如,用于存储排序的中间结果的工作表。中间结果的工作表。 由使用已提交读的数据库中数据修改事务生成的行版本。由使用已提交读的数据库中数据修改事务生成的行版本。由数据

51、修改事务为实现联机索引操作、多个活动的结果集由数据修改事务为实现联机索引操作、多个活动的结果集 (MARS) 以及以及 AFTER 触发器等功能而生成的行版本。触发器等功能而生成的行版本。每次启动每次启动 SQL Server 时都会重新创建时都会重新创建 tempdb,从而在系统启动时,从而在系统启动时总是保持一个干净的数据库副本。在断开联接时会自动删除临时表和总是保持一个干净的数据库副本。在断开联接时会自动删除临时表和存储过程,并且在系统关闭后没有活动连接。存储过程,并且在系统关闭后没有活动连接。不允许对不允许对 tempdb 进行备份和还原操作。进行备份和还原操作。文件与文件组文件与文件

52、组每个每个 SQL Server 2005 数据库至少具有两个操作系统文件:一个数数据库至少具有两个操作系统文件:一个数据文件和一个日志文件。数据文件包含数据和对象,例如表、索引、据文件和一个日志文件。数据文件包含数据和对象,例如表、索引、存储过程和视图。日志文件包含恢复数据库中的所有事务所需的信息。存储过程和视图。日志文件包含恢复数据库中的所有事务所需的信息。为了便于分配和管理,可以将数据文件集合起来,放到文件组中。为了便于分配和管理,可以将数据文件集合起来,放到文件组中。文件的类型文件的类型(1)主要数据文件主要数据文件包含数据库的启动信息,并指向数据库中的其他文件。用户数据和对象可存储在

53、此文件中,也可以存储在次要数据文件中。每个数据库有一个主要数据文件。主要数据文件的建议文件扩展名是 .mdf。(2)次要数据文件次要数据文件是可选的,由用户定义并存储用户数据。通过将每个文件放在不同的磁盘驱动器上,次要文件可用于将数据分散到多个磁盘上。另外,如果数据库超过了单个 Windows 文件的最大大小,可以使用次要数据文件,这样数据库就能继续增长。次要数据文件的建议文件扩展名是 .ndf。(3)事务日志文件事务日志文件保存用于恢复数据库的日志信息。每个数据库必须至少有一个日志文件。事务日志的建议文件扩展名是 .ldf。文件组文件组每个数据库有一个主要文件组。此文件组包含主要数据文件和未

54、放入每个数据库有一个主要文件组。此文件组包含主要数据文件和未放入其他文件组的所有次要文件。可以创建用户定义的文件组,用于将数其他文件组的所有次要文件。可以创建用户定义的文件组,用于将数据文件集合起来,以便于管理、数据分配和放置。据文件集合起来,以便于管理、数据分配和放置。例如,可以分别在三个磁盘驱动器上创建三个文件 Data1.ndf、Data2.ndf 和 Data3.ndf,然后将它们分配给文件组 fgroup1。然后,可以明确地在文件组 fgroup1 上创建一个表。对表中数据的查询将分散到三个磁盘上,从而提高了性能。通过使用在 RAID(独立磁盘冗余阵列)条带集上创建的单个文件也能获得

55、同样的性能提高。但是,文件和文件组能够轻松地在新磁盘上添加新文件。默认文件组默认文件组如果在数据库中创建对象时没有指定对象所属的文件组,对象将被分如果在数据库中创建对象时没有指定对象所属的文件组,对象将被分配给默认文件组。不管何时,只能将一个文件组指定为默认文件组。配给默认文件组。不管何时,只能将一个文件组指定为默认文件组。默认文件组中的文件必须足够大,能够容纳未分配给其他文件组的所默认文件组中的文件必须足够大,能够容纳未分配给其他文件组的所有新对象。有新对象。 PRIMARY 文件组是默认文件组,除非使用文件组是默认文件组,除非使用 ALTER DATABASE 语语句进行了更改。但系统对象

56、和表仍然分配给句进行了更改。但系统对象和表仍然分配给 PRIMARY 文件组,而不文件组,而不是新的默认文件组。是新的默认文件组。逻辑与物理文件名逻辑与物理文件名逻辑文件名是在所有逻辑文件名是在所有 Transact-SQL 语句中引用物理文件时所使用的语句中引用物理文件时所使用的名称。逻辑文件名必须符合名称。逻辑文件名必须符合 SQL Server 标识符规则,而且在数据库标识符规则,而且在数据库中的逻辑文件名中必须是唯一的。中的逻辑文件名中必须是唯一的。物理文件名是包括目录路径的物理文件名。它必须符合操作系统文件物理文件名是包括目录路径的物理文件名。它必须符合操作系统文件命名规则。命名规则

57、。master数据库数据库:(1)数据文件的逻辑名为master,物理文件名为C:Program FilesMicrosoft SQL ServerMSSQL.2MSSQLDATAmaster.mdf(2)日志文件的逻辑文件名为mastlog,物理文件名为C:Program FilesMicrosoft SQL ServerMSSQL.2MSSQLDATAmastlog.ldf事务日志事务日志每个每个 SQL Server 2005 数据库都具有事务日志,用于记录所有事务数据库都具有事务日志,用于记录所有事务以及每个事务对数据库所做的修改。事务日志是数据库的重要组件,以及每个事务对数据库所做的

58、修改。事务日志是数据库的重要组件,如果系统出现故障,则可能需要使用事务日志将数据库恢复到一致状如果系统出现故障,则可能需要使用事务日志将数据库恢复到一致状态。态。事务日志支持以下操作:事务日志支持以下操作: 撤消个别的事务。撤消个别的事务。在在 SQL Server 启动时撤消所有未完成的事务。启动时撤消所有未完成的事务。将还原的数据库、文件、文件组或页前滚至故障点。将还原的数据库、文件、文件组或页前滚至故障点。 支持事务复制支持事务复制支持备份服务器解决方案。支持备份服务器解决方案。事务日志的特点事务日志的特点事务日志是作为数据库中的单独的文件或一组文件实现的。事务日志是作为数据库中的单独的

59、文件或一组文件实现的。日志记录和页的格式不必遵守数据页的格式。日志记录和页的格式不必遵守数据页的格式。事务日志可以在几个文件上实现。可以将这些文件定义为自动扩展。事务日志可以在几个文件上实现。可以将这些文件定义为自动扩展。这样可减少事务日志内空间不足的可能性。这样可减少事务日志内空间不足的可能性。重用日志文件中空间的机制速度快且对事务吞吐量影响最小。重用日志文件中空间的机制速度快且对事务吞吐量影响最小。数据库的状态数据库的状态ONLINE可以对数据库进行访问。可以对数据库进行访问。OFFLINE数据库无法使用。数据库无法使用。RECOVERING正在恢复数据库。正在恢复数据库。RECOVERY

60、 PENDING SQL Server 在恢复过程中遇到了与资源在恢复过程中遇到了与资源相关的错误。数据库未损坏,但是可能缺少文件,或系统资源限制可相关的错误。数据库未损坏,但是可能缺少文件,或系统资源限制可能导致无法启动数据库。数据库不可用。能导致无法启动数据库。数据库不可用。SUSPECT至少主文件组可疑或可能已损坏。在至少主文件组可疑或可能已损坏。在 SQL Server 启动启动过程中无法恢复数据库。数据库不可用。过程中无法恢复数据库。数据库不可用。EMERGENCY用户更改了数据库,并将其状态设置为用户更改了数据库,并将其状态设置为 EMERGENCY。数据库处于单用户模式,可以修复

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论