没有合适的资源?快使用搜索试试~ 我知道了~
SQLServer2008数据库创建过程和可配置选项.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 2 浏览量
2023-04-26
12:55:22
上传
评论
收藏 1.04MB PDF 举报
温馨提示
试读
15页
SQLServer2008数据库创建过程和可配置选项.pdf
资源推荐
资源详情
资源评论
SQL Server 2008 数据库创建过程和可配置选项
系统数据库
在安装 SQL Server 2008时,创建了 5 个系统数据库来存储系统信息和支持数据库操作。
在普通的数据库操作中,我们可以看到四个系统数据库 master、modle、msdb、tempdb,
但是看不到第五个 Resource 数据库。如果 SQL Server 实例被配置为用于 SQL Server 复制
的分发服务器,就可以创建分发数据库。
用户数据库
用户数据库是由具有适当权限的任意服务器登录名创建。
数据库规划
数据库管理员应该考虑为什么数据库像现在这样运行和如何运行。管理数据库最好时机是
在安装之前。无论是内部开发还是从软件供应商那里购买数据应用程序,数据库管理员都必须
深入规划和创建支持数据库。
规划一个数据库时必须决定的第一件事是需要多大的磁盘空间来支持该数据库。一个比较
有效和现实的方法是先取得数据库原型(数据库的测试或开发版本),然后在其中填充适量的
测试数据。之后,价差磁盘上数据文件的大小,然后将其乘以 1.5.其结果应该足够容纳新数据
库的初始数据量,而且还会有空间剩余。一旦数据库投入生产环境,监控数据库文件大小就相
当重要,因为这样可以分析增长趋势。例如可以配置为当数据库中填充的数据量达到 75%是发
出警报,这样可以在需要时增加文件的大小,但同时又能以足够的百分比在增长他们,从而避
免经常执行增长。
规划事务日志文件的大小更加复杂。要想精确地规划日志大小,必须知道数据库中执行的
事务的平均大小、发生的频率以及被修改的表的物理结构。
创建数据库
新建数据库时可使用命令 CREATE DATABASE SampleDB,但是这样生成的数据库文件
在系统默认的文件夹下,不推荐使用,可以使用图形界面进行创建。在新建数据库界面中“所有
者”字段的值为“<默认值>”,这时创建数据库时使用的登录帐户。这个帐户一般是 Sa,这是一
个内置的 SQL Server 系统管理员帐户。数据库所有者应该总是为 Sa,这样可以避免任何可能
发生的问题。http://yaya.qqq23.com 数据库的所有者可以完全控制该数据库,要修改数据
库的所有权,可以使用 TSQL 语句 ALTER AUTHORIZATION 指定任意的有效的登录名,如:
ALTER AUTHORIZATION ON DATABASE::SampleDB TO SA
想要检索数据库信息有两种不同的方法,sp_helpdb 存储过程可用于检索所有数据库或特
定数据库的信息,非常易于用作快速查看,要检索所有数据库,执行存储过程时不使用参数。
对于特定数据库,将数据库名称传递给该存储过程,如:
USER Master
GO
EXEC sp_help AdventureWorks2008
还有一种检索数据库信息的方法是是使用目录视图,他们提供的信息比相应的存储过程多,
且允许使用标准的 TSQL 命令,如 WHERE 和 GROUP BY。如使用 sys.database 目录视图
与 sys.server_principals 目录视图连接起来,查看服务器上所有数据库的基本信息:
1 / 15
SELECT db.name AS database_name,sp.name AS
owner,db.create_date,db.compatibility_level,db.recovery_model_desc FROM
sys.database db INNER JOIN sys.server_principals sp ON db.owner_sid=sp.sid
数据库文件
在“新建数据库”对话框中的“数据库文件”部分中,第一个数据文件的逻辑名称和第一个日志
文件的逻辑名称已经被自动命名,单击对话框底部的“添加”按钮,就会像数据库文件中添加一
个新的文件行,新的文件默认类型为“行数据”,也可以通过下拉列表中选择“日志”或“行数据”,
一旦创建好数据库,文件类型不可改变。然后在文件组列中单击下拉列表,选择文件组
文件组
数据库时基于组织在文件组中的文件创建的。文件组是用来存放为数据库定义的所有数据
和数据库对象的数据文件的逻辑分组。
唯一必须的文件组是主文件组,主要由主数据文件和其他用户定义的数据文件组成。主数
据文件的作用是存储针对数据库的所有系统引用,包括指向 Resource 数据库中定义的对象的
指针。如果作为默认文件组,则主文件组包含用户定义的对象以及系统创建的对象的所有对象
定义。除了主文件组意外,还可以创建更多的用户定义文件组。
使用用户定义文件组的一个最大好处是控制,如果没有用户定义文件组,那么所有数据都
会存储在主文件组中,这样数据库的灵活性和可扩展性都大大削弱。输入新文件组的名称,选
中“默认值”复选框,http://sheji.qqq23.com 然后单击“确定”按钮,这会把新的用户定义的
文件组设置为默认文件组,用户创建的所有对象都会放在这个新的文件组中。这实际上就把系
统数据和用户数据分离开来,从而获得对数据库结构的更多控制。使用文件组的一个不错的功
能就是可以将该文件组中的数据标记为“只读”,方法是选择“新建文件组”对话框中的“只读”复选
框。当在一个数据库中组织不同的对象时,这个选项相当有用,要改变的对象可以放在一个可
更 ixnd 文件组中,而不会改变的对象放在一个只读的文件组中,分离对象可以减少需要备份和
还原的数据量,对于大型数据库来说是一个很有用的选项。
文件组带来的性能优势主要有三方面,第一个方面是可以并行读写,这时通过将数据文件
分割到多个物理设备实现的。然后,如果把多个物理我呢间放到单个文件组中,可以可获得同
样的性能;第二个方面则是将非聚集索引和大型对象数据溢出作为常规数据空间而保留的文件
组,将非聚集索引与数据分离可以让数据库引擎同时使用独立的线程从索引中搜搜行位置和从
表中检索行,将不经常访问的大型对象数据和事务密集的关系数据分离还可以提升一些实例中
的扫描性能;第三个方面,也是最显著的方面,是可以跨多个文件组物理分区大型表。
选项
在“新建数据库”对话框中的左边点击“选项”按钮,会看到各类组织级别的选项
ANSI NULL 默认值:在 CREATE TABLE 或 ALTER TABLE 操作中添加至表中的列是否
允许空置,默认值为 False,也就是除非有显示指定,否则添加的列不允许空值,可以手动进行
设置
--更改默认值
SET ANSI_NULL_DELT_ON OFF
SET ANSI_NULL_DELT_ON ON
更改数据库的选项值
ALTER DATABASE AdventureWorks2008 SET ANSI_NULL_DEFAULT OFF
2 / 15
ALTER DATABASE AdventureWorks2008 SET ANSI_NULL_DEFAULT ON
ANSI 警告已启用:当设置为 True 时,只要聚合函数中出现空值,数据库引擎就会发出警
告,设定为 False 时,则不会发出警告,可以在连接级别或者数据库级别设置
SET ANSI_WARNINGS OFF
SET ANSI_WARNINGS ON
ALTER DATABASE AdventureWorks2008 SET ANSI_WARNINGS OFF
ALTER DATABASE Adventureworks2008 SET ANSI_WARNINGS ON
算术终止启用:当设置为 true 的时候,任何语句或事务在遇到算术溢出或被零除错误后都
将终止,设定为 False 的时候,会发出一个警告,但不是终止语句。同样可以在连接级别或者
数据库级别设置:
SET ARITHABORT OFF
SET ARITHABORT ON
ALTER DATABASE Adventureworks2008 SET ARITHABORT OFF
ALTER DATABASE Adventureworks2008 SET ARITHABORT ON
自动创建统计信息:设置为 True 的时候,数据库引擎为那些 JOIN 操作的 WHERE 子句或
ON 子句中引用的、缺少统计信息的非索引列生成统计信息
ALTER DATABASE Adventureworks2008 SET AUTO_CREATE_STATISTICS OFF
ALTER DATABASE Adventureworks2008 SET AUTO_CREATE_STATISTICS ON
自动更新统计信息:设置为 True 时,数据库引擎会自动更新列的统计信息,从而保持最有
效的查询计划,如果设置为 False 则需要数据库管理员手动更新统计信息
ALTER DATABASE Adventureworks2008 SET AUTO_UPDATE_STATISTICS OFF
ALTER DATABASE Adventureworks2008 SET AUTO_UPDATE_STATISTICS ON
自动异步更新统计信息:设置为 True 时,查询中发现的国企统计信息将被更新,但发现这
些国企统计信息时正在执行的查询不会等待新的统计信息,后续的查询将会利用新的统计信息,
当设置为 False 的时候,只有统计信息更新之后才进行查询编译:
ALTER DATABASE Adventureworks2008 SET AUTO_UPDATE_STATISTICS_ASYNC OFF
ALTER DATABASE Adventureworks2008 SET AUTO_UPDATE_STATISTICS_ASYNC ON
默认游标:游标始终基于生命它的连接。当设置为 Global 时,制定了生命的游标可被统一
连接上执行的任意批处理、存储过程和触发器引用。如果设置为 Local,游标只能在声明了它的
批处理、存储过程或触发器中引用
ALTER DATABASE Adventureworks2008 SET CURSOR_DEFAULT LOCAL
ALTER DATABASE Adventureworks2008 SET CURSOR_DEFAULT GLOBAL
验证页:验证页为数据库管理员可以为写页设定不同的选项。可用的选项包括 Checksun,
Torn_Page_Detection 和 None。对于性能来说最好的选择的 None,但是此设置会使数据库
无法检测到数据损坏。Checksun 提供了最好的保证,无论是数据写操作还是写操作之后发生
的对磁盘数据的任意修改都会被校验和验证检测到,但是会占用最多的 CPU 周期;
Torn_Page_Detection 选项是一种检测损坏页的低成本方法,但是只会检测在写操作期间发
生的页损坏,推荐设置是 Checksun
ALTER DATABASE Adventureworks2008 SET PAGE_VERITY NONE
3 / 15
剩余14页未读,继续阅读
资源评论
hhappy0123456789
- 粉丝: 58
- 资源: 5万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功