在Win Forms C#中使用Active Directory登录SQL Server时性能较差

本文关键字:Server SQL 登录 性能 Directory Active Forms Win | 更新日期: 2023-09-27 18:24:49

我的应用程序使用windows身份验证连接到SQL Server。我在服务器上有一个登录名,该服务器是一个Active Directory组。如果用户在Active Directory组中,则它会将您登录到SQL server并为您提供正确的权限。

然而,这种方式比使用SQL Server身份验证要慢得多,有什么方法可以提高性能吗。

我测试了登录服务器需要多长时间:

  • SQL Server身份验证-0.068414 s
  • 使用AD的Windows身份验证-0.182627 s

感谢

在Win Forms C#中使用Active Directory登录SQL Server时性能较差

我不会担心的。所有连接到数据库的MS技术都有一个数据库连接池,将保留在后台,这样就不会有太多的连接打开和关闭。

与您在服务器上运行的实际查询相比,0.18267s很可能算不了什么。

如果你真的想对此进行更多的研究,你可以尝试以下内容:

  • 确保AD不太忙
  • 确保SQL Server和AD之间有良好的连接(使用Ping进行验证)
  • 如果可能,将权限授予AD用户与AD组

我本来打算添加一个注释,但它变长了。现在到了。

Anyhew。当您直接向SQL Server提供凭据时,它可以执行自己的身份验证并返回。

但是,当您指定AD凭据时,SQL Server必须再次往返域控制器以确认您的凭据(尽管从技术上讲,我认为您实际上是在传递令牌。无论如何)。

我的2c。