zoukankan      html  css  js  c++  java
  • (5.3.13)sql server修改作业所有者,sql server修改数据库所有者,sql server修改数据库对象所有者

    【0】无法删除登录名,因为它是对象的所有者

    【1】作业所有者

    【1.1】作业表与登录名基本信息

    (1)查看登录名信息

    --登录名表,所有者表
    select * from master.dbo.syslogins  
    --角色权限关系表
    select * from sys.database_principals 

    (2)查看作业信息

    查询所有作业的表:sysjobs(可以去官网了解文档内容)

    select * from msdb.dbo.sysjobs
    
    --其中的sid和所有者表里的owner_sid是一致的

    【1.2】查看某个登录名下拥有的作业

    (1)查询被废弃的所有者号下的所有作业

    --可以用这个先查一遍。
    select a.*,b.name from
    ( 
    select * from msdb.dbo.sysjobs where owner_sid<>0x01
    ) a
    left join master.sys.syslogins b on a.owner_sid=b.sid
    where b.name like '%这里换成将要删除的帐号%'

    【1.3】自动化更新所有涉及到的作业的所有者为sa

    declare @job_id varchar(300)
    select a.job_id into #ttt from
    ( 
      select name,[enabled],owner_sid,job_id from msdb.dbo.sysjobs where owner_sid<>0x01
    ) a
    left join master.sys.syslogins b on a.owner_sid=b.sid
    where b.name is null or b.name like '%这里换成将要删除的帐号%'
    while (select count(1) from #ttt)>0
    begin
    select top 1 @job_id=job_id from #ttt order by job_id asc
    declare @sql varchar(500)
    select @sql = 'EXEC msdb.dbo.sp_update_job @job_id=N'''+@job_id+''', @owner_login_name=N''sa'''
    print (@sql)
    exec (@sql)
    delete from #ttt where job_id=@job_id
    end 
    truncate table #ttt
    drop table #ttt

    【2】数据库所有者

    【2.1】查看登录名对应拥有的数据库

    -- 查看属于带gg字样登录名的数据库
    select
    t2.name,t1.* from sys.databases t1 join master.sys.syslogins t2 on t1.owner_sid=t2.sid where t2.name like '%gg%'

    【2.2】自动化更新该登录名下所有数据库的拥有者为sa

    -- 修改对应登录名拥有的数据库所有者为sa
    declare
    @sql varchar(max) set @sql='' select @sql=@sql+cast('use '+t1.name+';ALTER AUTHORIZATION ON DATABASE::['+t1.name+'] TO [sa];'+char(13) as varchar(max)) from master.sys.databases t1 join master.sys.syslogins t2 on t1.owner_sid=t2.sid where t2.name like '%gg%' print @sql exec(@sql)
     
  • 相关阅读:
    资料收集
    layui 设计资源——2.0 版本的 Axure 组件包,产品交互设计利器
    照片自动按时间分类助手
    回顾2017,规划2018,展望2019
    coder/programmer engineer Chirf Technology Offcer
    新手开公司创业,这些坑千万别掉进去!
    ASP.NET MVC中的Global.asax文件
    SQLServer(MSSQL)、MySQL、SQLite、Access相互迁移转换工具 DB2DB v1.0
    快速开发之代码生成器(asp.net mvc4 + easyui + knockoutjs)
    PowerDesigner逆向工程导入MYSQL数据库总结
  • 原文地址:https://www.cnblogs.com/gered/p/13130865.html
Copyright © 2011-2022 走看看