【问题标题】:Update the owner of SQL Server database and agent更新 SQL Server 数据库和代理的所有者
【发布时间】:2021-10-19 06:44:35
【问题描述】:

SQL Server 中有大量对象归已辞职的人所有。

我们需要一个脚本来将所有这些对象的所有权更改为 SA。

谁能帮忙写这个脚本?

还有我们如何在生产服务器中运行它之前对其进行测试?

【问题讨论】:

  • 这能回答你的问题吗? SQL Server 2016 Change Object Owner
  • 您需要提供至少一个您自己制作的启动脚本,以便我们根据您目前所了解的内容知道从哪里开始。
  • @JonP EXEC msdb.dbo.sp_manage_jobs_by_login action = N'REASSIGN',current_owner_login_name = N'xxxx',new_owner_login_name = N'sa';我已经为代理工作做了这个

标签: sql-server powershell


【解决方案1】:

更改 SQl 代理作业的所有者

EXEC msdb.dbo.sp_manage_jobs_by_login
@action = N'REASSIGN',  
@current_owner_login_name = N'currentowner',  
@new_owner_login_name = N'sa';

更改 SQL 数据库的所有者

use master
go
select 'use [' + db.name+']; exec sp_changedbowner [sa];' from 
sys.databases db left join sys.server_principals sp
on db.owner_sid=sp.sid
where suser_sname(owner_sid)='current owner'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-29
    • 2019-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-15
    相关资源
    最近更新 更多