BUG?SQL Server 2008的Trusted Connection问题

时间:2022-06-01 20:56:10

近日发现部署在生产环境的数据提交性能相当差,进行一条数据插入要4到5秒,而在测试环境则是毫秒级的。

先介绍一下环境:

1.数据库使用sql server2008,安装在windows2008上

2.数据存放使用了sql2008的FileStream

3.应用使用.net framework 3.5

4.数据库操作采用LINQ to sql

因为环境比较复杂,可能产生问题的环节比较多,所以把每条语句的执行时间先输出出来。结果发现执行第一条LINQ语句是问题所在,但LINQ语句跟不进去,于是用普通SQLClient下的类对LINQ to sql 进行重写,再比较每语句执行时间,终于发现问题:数据库连接打开消耗了4秒的时间。

查看连接串,连接使用了“Integrated Security=True;"选项,改为User ID=xxx;Password=xxx,连接正常。初步判断为信任连接问题。

http://www.connectionstrings.com/,找到其它选项:"Integrated Security=SSPI;" , "Trusted_Connection=Yes",经测试,问题依旧。

再次查看连接串,发现使用了IP做为"Data Source",会不会是IP的问题呢?把"Data Source"设置成HostName,再连接,成功。

看来IP加信任连接这两个条件加在一起就出问题了,不知道是不是sql2008的BUG,现在太忙,没时间再深纠了。

 

另:经测试,在SQL2005和sql2000中,此问题未出现。