密码到期后通过.NET Integrated Security连接到SQL Server

时间:2014-11-23 13:01:58

标签: c# .net sql-server

我对使用.NET连接到SQL Server时遇到的行为感到困惑。我相信这可能与连接池有关,我希望有人可以解释原因,并可能就如何避免这种行为提出任何建议

我有一个在多台计算机上运行的应用程序,它使用Integrated Security打开一些到服务器的SQL连接。然后,当帐户过期(密码需要更改)时,SQL连接将继续在某些计算机上运行。但是,在某些计算机上,由于帐户已过期,连接将被拒绝。后者是我期望的行为。

所有计算机上的配置和连接机制完全相同。

有人可以帮助解释为什么有些查询在密码过期后有效吗?有没有关于避免这种情况的提示,还是没有帮助?

1 个答案:

答案 0 :(得分:0)

根据AD网络的大小和布局,您将看到密码更改/到期的一些延迟,因为不同的域控制器可能正在为身份验证请求提供服务。

如果您使用用户凭据进行SQL连接,则无法执行任何操作。但是,如果您使用服务帐户使SQL连接成为更好的方法,那么使用单个帐户就是使用两个帐户。在第一个帐户的密码到期之前,为第二个帐户创建一个新密码,并等待它通过您的网络进行复制。如果您拥有庞大的国际网络,则需要24小时,如果您拥有较小的网络,则会减少。然后更改您的应用程序服务以使用第二个帐户。在第二个帐户密码到期之前,使用第一个帐户重复此过程。

如果您在Windows服务中运行,另一种方法是使用内置的NetworkService帐户进行SQL连接。然后,您将无法更改密码,并且传入的凭据将看起来像DOMAIN \ $ MACHINENAME。