我们发现一个 SQL“sa”帐户以不应该的方式使用,因此我们正在更改所有 SQL 实例的 sa 密码。
(我们有 SQL 2005 到 2017 服务器以混合身份验证模式运行。所有用户和应用程序都应该使用域帐户或非 sa SQL 帐户连接。我一直在监视,但没有发现任何其他应用程序、用户或非- 使用 sa 帐户的内部 spid。)
几个问题:
Q1:修改sa密码是否需要重启SQL?
我发现一些参考资料说更改 sa 帐户密码后需要重新启动 SQL 服务:
真的吗?还是仅当我更改身份验证模式时?或者仅当我经常以 sa 身份登录时?
这个 SQL Server Central 线程甚至建议更改它可能会影响现有的 SQL 代理作业和其他内容;这是一个问题吗?或者仅当有人将 SA 帐户硬编码到 SSIS 包或其他东西中时?
(以防万一,我们为 SQL 服务和 SQL 代理服务使用域帐户,为调用 SSIS 包或 PowerShell 脚本的作业使用域代理帐户。)
Q2:我可以用“正常”的方式更改 sa 密码吗?
我可以像重置任何其他帐户一样重置它吗?使用 SSMS,或者更有可能通过:
ALTER LOGIN sa WITH PASSWORD = 'newpass';
或者我是否必须进入单用户模式或需要计划停机时间的东西?(请注意,我将从域帐户运行它,而不是在连接为“sa”时。)
Q3:我们是否应该尝试定期进行密码轮换?还是只有当我们发现问题时?
这是推荐的“最佳实践”吗?
不,但是更改身份验证模式可以。由于您只是更改密码并且身份验证模式已设置为混合,因此您只需更改密码即可。
是的,它只是另一个 SQL 登录帐户。
老实说,我会禁用并重命名 SA 登录。这样它就不会被使用,如果你需要一个高权限的登录,那么你可以根据需要进行登录。
这是马已经跑掉后关谷仓门的问题。
您应该在构建实例时重命名并禁用 sa 帐户。
资源
如果您保留“sa”帐户作为获取 SQL 访问权限的紧急方式,则有更安全的方法,请参阅:当系统管理员被锁定时连接到 SQL Server如果您没有网络帐户访问权限,那么您将面临更大的问题能够连接到 SQL。