运行 SQL Server 2008。
因此,我需要设法删除旧用户帐户,但我担心如果在该帐户下设置和/或以任何方式依赖它,则立即禁用或删除它可能会导致某些东西停止正常工作.
有没有我可以运行的脚本,它会告诉我如果我删除特定用户帐户是否有任何可能会破坏的东西?
运行 SQL Server 2008。
因此,我需要设法删除旧用户帐户,但我担心如果在该帐户下设置和/或以任何方式依赖它,则立即禁用或删除它可能会导致某些东西停止正常工作.
有没有我可以运行的脚本,它会告诉我如果我删除特定用户帐户是否有任何可能会破坏的东西?
我不认为有一种万无一失的方法可以找到所有东西。毕竟,他们可以仅仅凭借处于特定服务器或数据库角色,甚至是 Windows AD 组(您没有指定这是 SQL 身份验证登录还是 Windows 登录)来访问事物。也没有万无一失的方法来确定更改后可能会出现什么问题——例如,如果他们是作业或数据库的所有者,将其更改为其他所有者是否会导致任何问题?也许,也许不是。我可以想到一些很容易找到的东西,但实际上没有任何方法可以验证它们不会在不实际更改它并查看破坏的情况下不会破坏。
对于最初的发现,这绝不是详尽无遗的(只是我头脑中最常见的事情的开始)。请注意,为了便于阅读,我已将它们分成块,但您需要一次触发它们以重用开始时声明的变量。
-- 链接服务器登录
-- 具有授权权限的数据库
-- 此登录拥有的作业
-- 使用此登录的作业具有执行步骤
-- 他们是成员或所有者的服务器角色
-- 已授予或撤销的服务器权限
-- 数据库中的角色
--数据库中的权限
-- 带有 EXECUTE AS 的数据库中的模块
-- 登录名“拥有”的数据库中的对象 (ALTER AUTHORIZATION)
-- 登录“拥有”的数据库中的模式
我确信还有其他可以添加到列表中的内容 - 如果您告诉我这些内容是什么,我可以毫无问题地帮助找出查询。