USE [ASPState] GO /****** Object: StoredProcedure [dbo].[TempGetAppID] Script Date: 11/21/2011 16:15:27 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO ALTER PROCEDURE [dbo].[TempGetAppID] @appName tAppName, @appId int OUTPUT AS SET @appName = LOWER(@appName) SET @appId = NULL set @appId=640732509 --這個(gè)是我自己測(cè)試時(shí)寫死的 你可以通過系統(tǒng)數(shù)據(jù)庫(kù)tempdb中的ASPStateTempApplications查詢到站點(diǎn)appId 記住只有當(dāng)網(wǎng)站的Seeion配置是數(shù)據(jù)庫(kù)中 而且保存過一次Session值才能查詢的到 /* --SELECT @appId = AppId --FROM [tempdb].dbo.ASPStateTempApplications --WHERE AppName = @appName 以上注釋辦法為原來ASP.net 自動(dòng)生成的 */ IF @appId IS NULL BEGIN BEGIN TRAN SELECT @appId = AppId FROM [tempdb].dbo.ASPStateTempApplications WITH (TABLOCKX) WHERE AppName = @appName IF @appId IS NULL BEGIN EXEC GetHashCode @appName, @appId OUTPUT INSERT [tempdb].dbo.ASPStateTempApplications VALUES (@appId, @appName) IF @@ERROR = 2627 BEGIN DECLARE @dupApp tAppName SELECT @dupApp = RTRIM(AppName) FROM [tempdb].dbo.ASPStateTempApplications WHERE AppId = @appId RAISERROR('SQL session state fatal error: hash-code collision between applications ''%s'' and ''%s''. Please rename the 1st application to resolve the problem.', 18, 1, @appName, @dupApp) END END COMMIT END RETURN 0