显示或更改数据库选项不能在 master 或 tempdb 数据库上使用 sp_dboption向后兼容性支持 sp_dboption使用 ALTER DATABASE 设置数据库选项 语法 sp_dboption [ [ @dbname = ]database] [[ @optname = ]option_name] [[ @optvalue = ]value] 参数 [@dbname =]database 在其中设置指定选项的数据库的名称database 的数据类型为 sysname默认值为 NULL [@optname =]option_name 要设置的选项的名称没有必要输入完整的选项名称Microsoft® SQL Server&#; 可识别名称中任何独有的部分如果选项名称包含空格或者关键字请将选项名称用引号引起来如果省略此参数sp_dboption 将列出处于打开状态的选项option_name 的数据类型为 varchar()默认值为 NULL [@value =]value option_name 的新设置如果省略此参数sp_dboption 将返回当前设置value 可以是 truefalseon 或 offvalue 的数据类型为 varchar()默认值为 NULL 返回代码值 (成功)或(失败) 结果集 如果没有提供参数则结果集如下 如果 database 是唯一的参数则结果集如下 如果提供 option_name则结果集如下 如果提供 valuesp_dboption 将不返回结果集 注释 下面是由 sp_dboption 设置的选项有关每个选项的更多信息请参见设置数据库选项 通过在 model 数据库上执行 sp_dboption数据库所有者或系统管理员可以设置或关闭所有新建数据库的特定数据库选项 执行 sp_dboption 后将在为之更改选项的数据库中执行检查点这将使更改立即生效 sp_dboption 更改数据库设置使用 sp_configure 更改服务器级别设置使用 SET 语句更改仅影响当前会话的设置 权限 显示可能的数据库选项列表数据库中当前设置的选项列表以及选项在数据库中的当前值(使用 sp_dboption 和或个参数)的执行权限默认授予所有用户 更改选项(使用 sp_dboption 及全部参数)的执行权限默认授予 sysadmindbcreator 固定服务器角色成员以及 db_owner 固定数据库角色成员这些权限是不可传递的 示例 A将数据库设置为只读 下面的示例将 pubs 数据库设置为只读 USE master EXEC sp_dboptionpubsread onlyTRUE 下面是结果集 CHECKPOINTing database that was changed B关闭选项 下面的示例将 pubs 数据库重新设置为可写 USE master EXEC sp_dboptionpubsread onlyFALSE 下面是结果集 CHECKPOINTing database that was changed C使数据库脱机 下面的示例使数据库 sales 在没有用户访问时进入脱机状态 USE master EXEC sp_dboptionsalesofflineTRUE 下面是结果集 CHECKPOINTing database that was changed |