在创建数据库以后还可以设置其属性,以更改创建时的某些设置和创建时无法设置的属性。用右键单击所要设置属性的数据库,从快捷菜单中选择选项“属性(Properties)”,就会出现如图6-4 所示的数据库属性设置对话框。
在“General”页框中,可以看到数据库的状态、所有者、创建时间、容量、备份、维护等属性信息。
在“Data Files” 和“Transaction Log” 页框中,可以看到类似于图6-2 和图6-3 的对话框,此时可以像在创建数据库时那样重新指定数据库文件和事务日志文件的名称、存储位置、初始容量大小等属性。
在“Filegroups” 页框中,如图6-5 所示,可以添加或删除文件组,不过,如果文件组中有文件则不能删除,必须先将文件移出文件组。
在Options 选项页框中,可以设置数据库的许多属性,如图6-6 所示。在图6-6 中选中的选项都是系统默认为True 的。
各选项选中时的含义如下:
- Restrict access
访问控制.
- Member of db_owner;dbcreator,or sysadmin
只有数据库所有者、数据库创建者和系统管理员才有权使用数据库。
- Single user
数据库在同一时间只能供一个用户使用.
- Read only
数据库只读,即可查看而不可修改。
- ANSI Null default
允许在数据库的列中输入NULL值.
- Recursive triggers
允许触发器递归调用。SQL Server 设定的触发器递归调用的层数上限为32。
- Select into / bulk copy
允许使用SELECT INTO 或BCP、 WRITETEXT、 UPDATETEXT 命令向表中大量插入数据。用上述命令插入数据,在事务日志中不会有记录。在开发数据库时时常将此选项设置为True。
- Truncate log on checkpoint
当执行CHECKPOINT 命令时,如果事务日志文件超过其大小的70%, 则将其内容清除。在开发数据库时时常将此选项设置为True。
- Torn page detection
自动检测有损坏的页(Torn Page)。页(Page)是数据库内容的基本存储单位。每个页的大小为8KB。 由于SQL Server 对页的读写单位是大小为512 字节的扇区(Sector),当每个页的第一个扇区被成功写入后,SQL Server 就认为此页已经被成功写入了。因此,如果写完第一个扇区后发生突发事件,导致写入中,断就会产生有损坏的页。需要通过备份来恢复数据库。
- Auto close
当数据库中无用户时,自动关闭此数据库,并将所占用资源交还给操作系统。对那些不间断使用的数据库不要使用此选项,否则会额外增加开关数据库的运行开销,得不偿失。
- Auto shrink
定期对数据库进行检查,当数据库文件或日志文件的未用空间超过其大小的25%时,系统将会自动缩减文件使其未用空间等于25% 。当文件大小没有超过其建立时的初始大小时,不会缩减文件。缩减后的文件也必须大于或等于其初始大小。对事务日志文件的缩减只有在对其作备份时或将Truncate log on checkpoint 选项设为True 时才能进行。
- Auto create statistics
启动数据库列的使用统计,以提供给查询优化器(Query Optimizer) 使用。
- Auto update statistics
当数据库表更新时,更新所有的统计。
- Use quoted identifiers
标识符必须用双引号扩起来,且可以不遵循Transact-SQL 命名标准。
- Compatibility Level
数据库兼容性级别。可以指定与何种版本以前的数据库兼容。
- 其它数据库选项
还有一些数据库选项没有被显示出来,如:ANSI warning、 merge publish、 offline、 published、 subscribed 等,这些选项在一般情况下最好由SQL Server 自己来控制它,实在需要更改时可以通过Sp_dboption 系统存储过程来实现。系统存储过程Sp_dboption 用于显示或更改数据库选项。但它不能在系统数据库master 或tempdb 数据库中使用。其语法如下:
sp_dboption [[@dbname =] 'database_name']
[, [@optname =] 'option_name']
[, [@optvalue =] 'value']
各参数说明如下:
- [@dbname =] 'database'
指定所要操作的数据库名.
- [@optname =] 'option_name'
指定要显示或修改的数据库选项。可以不输入选项的全名。如果省略此项,就会列出所有设定为True 的选项。
- [@optvalue =] 'value'
指定选项的值“value” 的值可以为True、 False 或On、Off。
例6-2: 显示mytest 数据库的选项状态。
exec sp_dboption 'mytest'
运行结果如下
The following options are set:
-----------------------------------
select into/bulkcopy
trunc. log on chkpt.
autoshrink
auto create statistics
auto update statistics
例6-3:设置mytest 数据库的offline 状态为True,让一般用户无法使用此数据库。
exec sp_dboption 'mytest', 'offline', 'true'
运行结果如下:
sp_dboption command succeeded.
注意:系统管理员可以在模板数据库model中执行Sp_dboptin命令中设置数据选项,这将改变所有新建数据库的初始选项设置。
在“Permissions” 页框中可以设定用户对此数据库的权限,如图6-7 所示。有关权限设置的详细介绍请参见“安全性与用户管理”章节。