我们的网络上有一些应用程序(在我之前)在其 SQL Server 连接字符串中使用 SA 帐户。它在源代码中是硬编码的,无论出于何种原因,我们都无法更改它 - 我的问题不是我们为什么要更改它,而是解决它。
我正在考虑将 SA 帐户重命名为其他名称(例如“SysAccount”或类似名称,并为其提供新密码),然后使用旧密码创建一个名为“SA”的新帐户并授予其适用于应用程序的权限(显然不是 sysadmin 角色的成员)。这样做有什么陷阱吗?如果名为 SA 的帐户实际上不是系统管理员,SQL Server 是否会遇到已知问题?
我假设因为我只是重命名帐户,所以我是安全的 - 它的 uid 仍然为 0x01,我已经测试过了,它在物理上是可行的,并且在测试中似乎可以正常工作,但我想确保我并没有忽视任何会因此而明显破裂的东西。如果它破坏了某些东西,我总是可以删除新的 SA 并将旧的 SA 重命名回以消除损坏,但希望避免尝试和失败。
我正在使用 SQL Server 2012,但我怀疑相同的答案将适用于任何现代版本。我已经看到了从 2005 年升级到 2008 年的错误,如果你这样做了,但我想这个问题早就解决了。