数据库选项设置
我们可以通过很多数据库选项来控制数据库的行为,某些必须设置为ON或者OFF,另一些只能从可选值中取值。详细说明如下:
1.查看数据库配置:SELECT * FROM sys.databases。
2.状态选项
1)用户访问属性
SINGLE_USER(单用户):数据库一次只能有一个连接。
RESTRICTED_USER(受限制用户):数据库只接受合格的用户连接,一般这些用户属于dbcreator或者sysadmin
MULTI_USER(多用户):具有数据库的有效用户名均可访问,数据库默认是这种模式。
查询目前数据库的模式:
SELECT user_access_desc FROM sys.databases WHERE name='DBName'
更新方式:
ALTER DATABASE DBName SET SINGLE_USER;
2)数据库状态
ONLINE(在线):数据库的默认状态
OFFLINE(离线):离线状态的数据库不能更改
EMERGENCY(紧急):将SUSPECT默认的数据设置为EMERGENCY,使数据库能够进行只读访问.
查询目前数据库的模式:
SELECT state_desc FROM sys.databases WHERE name='DBName'
更新方式:
ALTER DATABASE DBName SET ONLINE;
3)数据库的可更新性
READ_ONLY:不能执行INSERT,UPDATE,DELETE操作
READ_WRITE:任何有权限的用户均可更新数据。
查询目前数据库的模式:
SELECT [NAME],is_read_only FROM sys.databases WHERE name='DBName'
更新方式:
ALTER DATABASE DBName SET READ_WRITE;
4)数据库的结束状态
ROLLBACK AFTER integer [seconds] :使数据库等待指定的数秒后然后中断不合格连接
ROLLBACK IMMAEDIATE:马上中断不合格的连接
NO_WAIT:使数据库在更改状态之前检查状态,如果存在不合格的则ALTER DATABASE失败。
更新方式:
ALTER DATABASE DBName SET SINGLE_VSER WITH NO_WAIT;
5)游标选项
CURSOR_CLOSE_ON_COMMIT{ON|OFF}:如果为ON,则当事务被提交或者回滚时,所有打开的游标将被关闭,如果为OFF,则仍然保持打开。
CURSOR_DEFAULT{LOCAL|GLOBAL}:当指定LOCAL时,游标创建时未显示指定GLOBAL,则游标只在他的作用域才有用,当指定为GLOBAL,则整个连接。
6)自动(AUTO)选项
AUTO_CLOSE:指定为ON,则在最后一个用户退出时,数据库自动关闭并释放所有资源,当一个用户重新使用时则重新打开。
AUTO_SHRINK:启用时数据库的所有文件都将周期性的周期收缩。
AUTO_CREATE_STATISTICS:为ON时,SQL优化器会 在被一个Where子句引用的列创建索引。
AUTO_UPDATE_STATISTICS:为ON时,如果表中的数据发生变化则自动更新STATISTICS信息。