• TSQL是否有循环语句?类似C语言的for?如何查看有哪些用户连接到服务器上?如何强制其退出?


    我要删除一个登陆,直接用sp_droplogin的时候系统提示:  
      //登录   'dubin'   在一个或多个数据库中有别名或映射到了用户上。请除去这些用户或别名后再除去该登录。  
       
      于是我就想了个办法,依次查找每个数据库的sysusers,如果存在这个用户就先将他删除,全部都删除完了就可以删除该登陆了。  
      如此当然可以一个一个数据库的手动查找删除,但要是数据库多了就麻烦了。于是我想通过一个循环,先查   master   数据库中的   sysdatabase   中找出有哪些数据库,在依次循环查找是否有这个用户,有则删除之。如此则需用循环语句,但我不知道T-SQL的循环语句是怎么样的,请高手指教。  
      还有:  
      如何查看有哪些用户连接到服务器上?如何强制其退出?  
    declare   @username   sysname  
      set   @username='aa' --要删除的登录名      
      declare   @s   nvarchar(4000)  
      declare   tb   cursor   local   for  
      select   N'use   ['+replace(name,N']',N']]')  
      +N']  
      if   exists(select   *   from   sysusers   where   islogin=1   and   name=@username)  
      exec   sp_revokedbaccess   @name_in_db   =   @username'  
      from   master.dbo.sysdatabases  
      open   tb  
      fetch   tb   into   @s  
      while   @@fetch_status=0  
      begin  
      exec   sp_executesql   @s,N'@username   sysname',@username  
      fetch   tb   into   @s  
      end  
      close   tb  
      deallocate   tb  
      exec   sp_droplogin   @loginame   =   @username
  • 相关阅读:
    使用docker搭建nginx集群,实现负载均衡
    机器重启以后,主从出现报错:ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repos
    Slave_SQL_Running: No mysql同步故障解决方法
    docker搭建MySQL主从集群
    Linux下如何查看版本信息
    Docker中使用CentOS7镜像
    在 CentOS 上安装及使用 VirtualBox
    Docker Machine 安装使用教程
    main主函数
    is and ==
  • 原文地址:https://www.cnblogs.com/lds85930/p/827475.html
Copyright © 2020-2023  润新知