• SQL Server 数据库状态选项-用户使用


    选项 1、

        single_user(单用户),multi_user(多用户),restricted_user(受限用户);
    
        描述数据库的用户访问属性,它们互斥,设置其中任何一个选项就会取消对其它选项的设置
    
        single_user模式的数据库每次只能有一个连接。
    
        restricted_user模式可以有多个连接,前提是这些用户要是被认为是‘合格’的如 sysadmin,dbcreator,dbowner。
    
        multi_user任何有效的用户都可以连接。
    
        例子:
    
              alter database studio
              set single_user
              with
              rollback immediate ;                                             ----       | rollback after 1000|no_wait;
              go
    
              
    
              注意:这个时候只有一个连接可以操作数据库,如果别的连接想要操作数据库,它会失败,不是因为它的权限问题,而是只可以有一个连接。
    

    选项 2、

         online, offline, emergency 它们互斥
    
         如果数据被设置为offline,它就会关闭而且完全关掉,并且标记为脱机,数据库脱机时不可以有被修改,如果数据库
    
         中有任何连接都不可以被标记为offline。
    
         例子:
    
               select name , state_desc
               from sys.databases
               where name = 'studio'
    
               with rollback immediate ;                                             ----       | rollback after 1000|no_wait;
               go
    
               
    
      注意:
    
            对于数据库的状态我们可以设置是只有  offline ,online,emergency!   它的一些别的状态我们是不可能对它进行设置的
    
            如:从备份中还原的过程会对应    recovering ,如果出于一些原因没有办法完成还原就会对应   recovery_pending;
    
            如:还原过程中检测出了数据损坏就会对应 suspect,数据库就会变得完全不可用,很多情况下可以把数据库设置为 emergency
    
                  从而可以对它进行只读操作,如果的丢失数据库的一个或多个日志文件,在将数据库复制到新位置时,用emergency 模式还
    
                  还可以对数据库进行访问。从recovery_pending 转换到 emergency时SQL Server会关闭数据库,然后用特殊的标记重新
    
                  启动,这样会跳过恢复过程,跳过恢复意味着可能会有逻辑上的错误或物理上的不一致(如 索引丢失,断开页面) 
    

    选项 3、

         read_only ,read_write
    
         -----------------------  
    
        alter database studio
        set read_only
        with
              rollback immediate;                                             ----       | rollback after 1000|no_wait;
        go
    

                                                              状态选项都可以和
    
                                                              rollback immediate | rollback after 1000 | no_wait;
    
                                                               配合
  • 相关阅读:
    Java 8与Runtime.getRuntime().availableProcessors()
    nginx配置
    周末完成工作小结
    CentOS 8 安装MySQL 8.0
    centOS8网络获取不了
    IUAP平台新增菜单存储过程
    centOS8安装Docker
    Mybatis里用到的设计模式
    2020,回顾过往,展望未来
    使用 Apache SSI(Server Side Includes) 制作多语言版静态网页
  • 原文地址:https://www.cnblogs.com/swneng/p/10625481.html
Copyright © 2020-2023  润新知