分享
 
 
 

修改数据库(设置数据库选项)

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

可以为每个数据库都设置若干个决定数据库特点的数据库级选项。只有系统管理员、数据库所有者以及 sysadmin 和 dbcreator 固定服务器角色和 db_owner 固定数据库角色的成员才能修改这些选项。这些选项对于每个数据库都是唯一的,而且不影响其它数据库。可以使用 ALTER DATABASE 语句的 SET 子句、sp_dboption 系统存储过程,或者在某些情况下使用 SQL Server 企业管理器设置数据库选项。

说明 通过使用 sp_configure 系统存储过程或者 SQL Server 企业管理器,可以设置服务器范围的设置。

设置了数据库选项之后,将自动发出一个检查点,它会使修改立即生效。

若要更改新创建数据库的任意数据库选项的默认值,请更改 model 数据库中的适当数据库选项。例如对于随后创建的任何新数据库,如果希望 AUTO_SHRINK 数据库选项的默认设置都为 ON,则将 model 的 AUTO_SHRINK 选项设置为 ON。

有五类数据库选项:

自动选项

游标选项

恢复选项

SQL 选项

状态选项

自动选项

自动选项控制某些自动行为。

AUTO_CLOSE

当设置为 ON 时,在数据库的最后一个用户退出,而且数据库中的所有过程都完成时,数据库将关闭并完全退出系统,从而释放所有资源。默认情况下,当使用 Microsoft® SQL Server™ 2000 Desktop Engine 时,对于所有数据库,此选项都设置为 ON,而对于所有其它版本都设置为 OFF,与操作系统无关。当用户试图再次使用数据库时,该数据库将自动重新打开。如果数据库完全退出系统,则该数据库不会重新打开,直到下一次 SQL Server 重新启动时,用户试图使用该数据库为止。当为 OFF 时,即使当前没有用户使用数据库,数据库仍然保持打开状态。

AUTO_CLOSE 选项对于桌面数据库很有用,因为它允许将数据库文件作为常规文件进行管理。它们可以移动、复制以制作备份,或者甚至通过电子邮件发送给其他用户。如果应用程序与 SQL Server 反复建立连接和断开连接,则不应对这样的应用程序所访问的数据库使用 AUTO_CLOSE 选项。在每个连接之间关闭和重新打开数据库的开销将削弱性能。

此选项的状态可以通过检查 DATABASEPROPERTYEX 函数的 IsAutoClose 属性来确定。

AUTO_CREATE_STATISTICS

当设置为 ON 时,将在谓词中使用的列上自动创建统计。添加统计将提高查询性能,因为 SQL Server 查询优化器可以更好地确定如何估算查询。如果未使用统计,则 SQL Server 将自动删除它们。当设置为 OFF 时,SQL Server 不自动创建统计;相反,可以手动创建统计。

默认情况下,AUTO_CREATE_STATISTICS 为 ON。

此选项的状态可通过检查 DATABASEPROPERTYEX 函数的 IsAutoCreateStatistics 属性来确定。

AUTO_UPDATE_STATISTICS

当设置为 ON 时,因为更改表中数据而造成统计过期时,将自动更新现有的统计。当设置为 OFF 时,现有的统计不会自动更新;而可以手动更新该统计。

默认情况下,将 AUTO_UPDATE_STATISTICS 设置为 ON。

此选项的状态可以通过检查 DATABASEPROPERTYEX 函数的 IsAutoUpdateStatistics 属性来确定。

AUTO_SHRINK

当设置为 ON 时,数据库文件可作为定期收缩的对象。数据文件和日志文件都可以自动由 SQL Server 收缩。当设置为 OFF 时,在定期检查未使用空间的过程中,数据库文件不自动收缩。默认情况下,当使用 SQL Server 桌面版时,对于所有数据库,此选项都设置为 ON,而对于所有其它版本都设置为 OFF,与操作系统无关。

如果将数据库设置为 SIMPLE 恢复模型或备份日志,则 AUTO_SHRINK 只减小事务日志的大小。

当文件中超过百分之二十五的部分包含未使用的空间时,AUTO_SHRINK 选项将导致收缩文件。文件将收缩至未使用空间占文件 25% 的大小,或收缩至文件创建时的大小,两者之间取其大。

不能收缩只读数据库。

此选项的状态可通过检查 DATABASEPROPERTYEX 函数的 IsAutoShrink 属性来确定。

游标选项

游标选项控制游标的行为和作用域。

CURSOR_CLOSE_ON_COMMIT

当设置为 ON 时,在提交事务时,所有打开的游标都将自动关闭(遵从 SQL-92 规范)。默认情况下,此设置为 OFF,并且游标仍然在各事务边界间保持打开状态,仅当连接关闭或被显式关闭时,才会关闭游标。

连接级设置(使用 SET 语句设置)替代 CURSOR_CLOSE_ON_COMMIT 的默认数据库设置。默认情况下,当连接到 SQL Server 时,ODBC 和 OLE DB 客户端发出连接级 SET 语句,以将会话的 CURSOR_CLOSE_ON_COMMIT 设置为 OFF。

此选项的状态可通过检查 DATABASEPROPERTYEX 函数的 IsCloseCursorsOnCommitEnabled 属性来确定。

CURSOR_DEFAULT LOCAL | GLOBAL

如果设置了 CURSOR_DEFAULT LOCAL,且创建游标时没有将其定义为 GLOBAL,则对于在其中创建游标的批处理、存储过程或触发器,游标的作用域都是局部。游标名仅在该作用域内有效。在批处理、存储过程、触发器或存储过程 OUTPUT 参数中,该游标可由局部游标变量引用。当批处理、存储过程或触发器终止时,游标将被隐式释放,除非它在一个 OUTPUT 参数中传递回来。如果 OUTPUT 参数将游标传递回来,则游标在最后引用它的变量释放或离开作用域时释放。

如果设置了 CURSOR_DEFAULT GLOBAL,且在创建游标时没有将其定义为 LOCAL,则游标的作用域对于连接是全局的。在由连接执行的任何存储过程或批处理中,都可以引用该游标名称。该游标仅在断开时被隐式释放。CURSOR_DEFAULT GLOBAL 是默认设置。

此选项的状态可通过检查 DATABASEPROPERTYEX 函数的 IsLocalCursorsDefault 属性来确定。

恢复选项

恢复选项控制数据库的恢复模型。

RECOVERY FULL | BULK_LOGGED | SIMPLE

指定 FULL 时,数据库备份和事务日志备份用于提供从媒体故障中完全恢复的能力。包括大容量操作(如 SELECT INTO、CREATE INDEX 和大容量装载数据)在内的所有操作都将完整记入日志。

指定 BULK_LOGGED 时,对所有 SELECT INTO、CREATE INDEX 和大容量装载数据操作的日志记录是最小的,因此所需的日志空间较少。这种模式可获得更好的性能和更少的日志空间使用量,但是丢失数据的危险比使用完整恢复要大。

指定 SIMPLE 时,只能将数据库恢复到上一次完整数据库备份或上一次差异备份。

SIMPLE 是 SQL Server 桌面版和数据引擎的默认设置,FULL 是所有其它版本的默认设置。

此选项的状态可通过检查 DATABASEPROPERTYEX 函数的 Recovery 属性来确定。

TORN_PAGE_DETECTION

此恢复选项允许 SQL Server 检测由于电源故障或其它系统停歇导致的未完成的 I/O 操作。

当设置为 ON 时,只要一个 8 KB 的数据库页写入磁盘,该页的每个 512 字节扇区都有一位被翻转。当 SQL Server 以后读取该页时,如果有一个位发生错误,则该页将被错误写入;这样就会检测到一个残缺页。通常在恢复期间检测到残缺页,因为错误写入的任何页都可能在恢复时被读取。

虽然 SQL Server 数据库页是 8 KB,但是磁盘使用 512 字节的扇区执行 I/O 操作。因此,每个数据库页要写 16 个扇区。如果在操作系统将第一个 512 字节扇区写到磁盘和完成 8 KB I/O 操作之间系统失败(例如,由于电源故障),则可能出现残缺页。如果数据库页的第一个扇区在失败之前成功地写入磁盘,则磁盘上的数据库页将显示为更新过的,尽管可能没有更新成功。

说明 使用备用电池的磁盘高速缓存可以保证数据成功地写到磁盘上,或者根本就不写。

如果检测到残缺页,将出现一个 I/O 错误,并断开连接。如果在恢复过程中检测到残缺页,则数据库也会被标记为可疑。应该还原数据库备份,并应用所有事务日志备份,因为它在物理上是不一致的。

默认情况下,TORN_PAGE_DETECTION 为 ON。

此选项的当前设置可通过检查 DATABASEPROPERTYEX 的 IsTornPageDetectionEnabled 属性来确定。

SQL 选项

SQL 选项控制 ANSI 遵从选项。

ANSI_NULL_DEFAULT

允许用户控制数据库默认为空。未显式指定 NULL 或 NOT NULL 时,用户定义的数据类型或列定义将使用为空性的默认设置。为空性由会话或数据库设置确定。Microsoft® SQL Server™ 2000 默认为 NOT NULL。对于 ANSI 兼容性,数据库选项 ANSI_NULL_DEFAULT 设置为 ON 将使数据库默认设置更改为 NULL。

当此选项设置为 ON 时,在 CREATE TABLE 或 ALTER TABLE 语句过程中,没有显式定义为 NOT NULL 的所有用户定义的数据类型或列都将默认为允许空值。使用约束定义的列都将遵循约束规则,而无视此设置。

连接级设置(使用 SET 语句设置)替代 ANSI_NULL_DEFAULT 的默认数据库级设置。默认情况下,当连接到 SQL Server 时,ODBC 和 OLE DB 客户端发出连接级 SET 语句,以将会话的 ANSI_NULL_DEFAULT 设置为 ON。

此选项的状态可通过检查 DATABASEPROPERTYEX 函数的 IsAnsiNullDefault 属性来确定。

ANSI_NULLS

当设置为 ON 时,所有与空值比较的值都取值为 NULL(未知)。当设置为 OFF 时,如果两个值都为 NULL,则非 Unicode 值与空值比较的值都取值为 TRUE。默认情况下,ANSI_

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有