我目前正在尝试稳定asp.net 2.0网站。 我大约95%确定系统稳定性的主要问题是C#代码泄漏了SQL连接。
这篇文章中接受的答案完全描述了我的问题:
Why is my SqlCommand returning a string when it should be an int?
那个beign说,我正在运行这个sql语句来查明可能的问题:
SELECT S.spid, login_time, last_batch, status, hostname, program_name, cmd,
(
select text from sys.dm_exec_sql_text(S.sql_handle)
) as last_sql
FROM sys.sysprocesses S
where dbid > 0
and DB_NAME(dbid) = 'db'
and loginame = 'login'
order by last_batch asc
我觉得奇怪的是,用于从网站连接到数据库的登录信息一直将last_sql返回为:
CREATE PROCEDURE name
-- Add the parameters for the stored procedure here
...
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
... Procedure code
问题是,为什么创建过程语句会一遍又一遍地运行?
另外,使用相同的连接字符串连接到数据库的3-4(不是那么活跃)网站是不好的做法吗?