https://stackoverflow.com/questions/37275/sql-query-for-logins

https://www.mssqltips.com/sqlservertip/4299/sql-server-errors-with-drop-login-and-drop-user/

获取所有的用户

SELECT sid
FROM master..syslogins

筛选出db owner不是sa的数据库

SELECT ROW_NUMBER() OVER ( ORDER BY name ) AS RowNumber ,
name AS DatabaseName ,
SUSER_SNAME(owner_sid) AS DBOwner ,
is_read_only ,
state_desc
FROM sys.databases
WHERE SUSER_SNAME(owner_sid) <> 'sa';

通过下面的sql,批量将数据库owner不是sa的设置为sa。 排除了offline和readonly的,并且排除掉master,model,tempdb,distribution四个系统数据库

DECLARE @MyTable TABLE
(
RowNumber INT NOT NULL ,
DatabaseName NVARCHAR(500) NOT NULL ,
DBOwner NVARCHAR(500) NOT NULL
);
INSERT INTO @MyTable ( RowNumber ,
DatabaseName ,
DBOwner )
SELECT ROW_NUMBER() OVER ( ORDER BY name ) AS RowNumber ,
name AS DatabaseName ,
SUSER_SNAME(owner_sid) AS DBOwner
FROM sys.databases
WHERE state_desc <> 'OFFLINE'
AND is_read_only = 0
AND name NOT IN ( 'master', 'tempdb', 'model' ,
'distribution' ); DECLARE @CurrentRowNumber INT = 1;
DECLARE @MaxRowNumber INT;
SELECT @MaxRowNumber = MAX(RowNumber)
FROM @MyTable; DECLARE @SQLString NVARCHAR(500);
DECLARE @TempDatabaseName NVARCHAR(500);
WHILE ( @CurrentRowNumber <= @MaxRowNumber )
BEGIN
SELECT @TempDatabaseName = DatabaseName
FROM @MyTable
WHERE RowNumber = @CurrentRowNumber;
SET @SQLString = 'Use ' + @TempDatabaseName
+ '; EXECUTE sp_changedbowner ''sa''';
PRINT @SQLString;
EXECUTE sp_executesql @SQLString;
SET @CurrentRowNumber = @CurrentRowNumber + 1;
END;

sql server drop login failed的更多相关文章

  1. idea Connection to SQL Server - 公网8 failed java

    Connection to SQL Server - 公网8 failed java.sql.SQLException: I/O Error: SSO Failed: Native SSPI libr ...

  2. SQL Server查看login所授予的具体权限

    在SQL Server数据库中如何查看一个登录名(login)的具体权限呢,如果使用SSMS的UI界面查看登录名的具体权限的话,用户数据库非常多的话,要梳理完它所有的权限,操作又耗时又麻烦,个人十分崇 ...

  3. sql server drop talbe 自动删除关联的外键 ,权限体系(一)

    if object_id('Proc_DropTableWithFK') is not null begin drop proc dbo.Proc_DropTableWithFK end GO ) a ...

  4. sql server drop talbe 自动删除关联的外键 ,权限体系(二)

    alter table dbo.Sys_PowerTeamForUser add constraint FK_Sys_User_Sys_PowerTeamForUser foreign key (Sy ...

  5. How to add the ApplicationPoolIdentity to a SQL Server Login

    The ApplicationPoolIdentity is a virtual account in Windows that is dynamically generated when the a ...

  6. Microsoft SQL Server Version List [sqlserver 7.0-------sql server 2016]

    http://sqlserverbuilds.blogspot.jp/   What version of SQL Server do I have? This unofficial build ch ...

  7. Microsoft SQL Server Version List(SQL Server 版本)

    原帖地址 What version of SQL Server do I have? This unofficial build chart lists all of the known Servic ...

  8. SQL Server安全(1/11):SQL Server安全概述

    在保密你的服务器和数据,防备当前复杂的攻击,SQL Server有你需要的一切.但在你能有效使用这些安全功能前,你需要理解你面对的威胁和一些基本的安全概念.这篇文章提供了基础,因此你可以对SQL Se ...

  9. 第一篇 SQL Server安全概述

    本篇文章是SQL Server安全系列的第一篇,详细内容请参考原文. Relational databases are used in an amazing variety of applicatio ...

随机推荐

  1. jquery中的left和top

    left 和 top /*1. 获取元素基于定位容器的位置*/ /*返回的是对象 属性 left top */ var position = $('.inner').position(); conso ...

  2. Beta冲刺-星期四

    这个作业属于哪个课程  <课程的链接>            这个作业要求在哪里 <作业要求的链接> 团队名称 Three cobblers 这个作业的目标 完成今天的冲刺 一 ...

  3. 努比亚 Z17(Nubia NX563J) 解锁BootLoader 并刷入recovery

    工具下载链接:https://pan.baidu.com/s/1mjEzcyG 备用下载链接:https://pan.baidu.com/s/1eTdx6Zg 密码:1d3r 本篇教程教你如何傻瓜式解 ...

  4. sql server 存储过程(事务,带参数声明,数据库瘦身)

    CREATE PROCEDURE procedureName (@var1 as varchar(50),@var2 as varchar(50)) --建立未发临时表 AS begin tran - ...

  5. WinDbg使用

    1.抓dump文件 程序崩溃(crash)的时候, 为了以后能够调试分析问题, 可以使用WinDBG要把当时程序内存空间数据都保存下来,生成的文件称为dump 文件. 步骤: 1) 打开WinDBG并 ...

  6. 设计包含min()函数的栈

    题目:定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素.要求函数min.push以及pop的时间复杂度都是O(1). 分析:这是去年google的一道面试题. 我看到这道题目时,第一反应 ...

  7. matlab中 注意事项--字符串

    Matlab中的字符串操作 原文链接:http://hi.baidu.com/dreamflyman/item/bd6d8224430003c9a5275a9f (1).字符串是以ASCII码形式存储 ...

  8. js与Jquery的对比

    //    document.getElementById("divCommit").style.display="none";//    document.g ...

  9. Robot Framework(五)使用测试库

    使用测试库 测试库包含那些最低级别的关键字,通常称为 库关键字,实际上与被测系统交互.所有测试用例总是使用某些库中的关键字,通常是通过更高级别的用户关键字.本节介绍如何使用测试库以及如何使用它们提供的 ...

  10. boost asio异步读写网络聊天程序客户端 实例详解

    boost官方文档中聊天程序实例讲解 数据包格式chat_message.hpp <pre name="code" class="cpp">< ...