Asp.net源码专业站
首页->商务办公->无忧劳保库存系统源码>>Session/InstallSqlState.sql>>源码在线查看
温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:无忧劳保库存系统源码
当前文件:文件类型 Labor/Session/InstallSqlState.sql[50K,2009-6-12 11:46:41]打开代码结构图
普通视图
		            
1/********************************************************************* 2 InstallSqlState.SQL 3 4 Installs the tables, and stored procedures necessary for 5 supporting ASP.NET session state. 6 7 Copyright Microsoft, Inc. 8 All Rights Reserved. 9 10 *********************************************************************/ 11 12SET QUOTED_IDENTIFIER OFF 13GO 14SET ANSI_NULLS ON 15GO 16 17PRINT '' 18PRINT '-----------------------------------------' 19PRINT 'Starting execution of InstallSqlState.SQL' 20PRINT '-----------------------------------------' 21PRINT '--------------------------------------------------' 22PRINT 'Note: ' 23PRINT 'Do not run this file manually. ' 24PRINT 'You should use aspnet_regsql.exe to install ' 25PRINT 'and uninstall SQL session state. ' 26PRINT '' 27PRINT 'Run ''aspnet_regsql.exe -?'' for details. ' 28PRINT '--------------------------------------------------' 29GO 30 31/*****************************************************************************/ 32 33USE master 34GO 35 36/* Create and populate the session state database */ 37 38IF DB_ID(N'ASPState') IS NULL BEGIN 39 DECLARE @cmd nvarchar(500) 40 SET @cmd = N'CREATE DATABASE [ASPState]' 41 EXEC(@cmd) 42END 43GO 44 45/* Drop all tables, startup procedures, stored procedures and types. */ 46 47/* Drop the DeleteExpiredSessions_Job */ 48 49DECLARE @jobname nvarchar(200) 50SET @jobname = N'ASPState' + '_Job_DeleteExpiredSessions' 51 52-- Delete the [local] job 53-- We expected to get an error if the job doesn't exist. 54PRINT 'If the job does not exist, an error from msdb.dbo.sp_delete_job is expected.' 55 56EXECUTE msdb.dbo.sp_delete_job @job_name = @jobname 57GO 58 59DECLARE @sstype nvarchar(128) 60SET @sstype = N'sstype_temp' 61 62IF UPPER(@sstype) = 'SSTYPE_TEMP' AND OBJECT_ID(N'dbo.ASPState_Startup', 'P') IS NOT NULL BEGIN 63 DROP PROCEDURE dbo.ASPState_Startup 64END 65 66USE [tempdb] 67GO 68 69IF OBJECT_ID(N'dbo.ASPStateTempSessions','U') IS NOT NULL BEGIN 70 DROP TABLE dbo.ASPStateTempSessions 71END 72 73IF OBJECT_ID(N'dbo.ASPStateTempApplications','U') IS NOT NULL BEGIN 74 DROP TABLE dbo.ASPStateTempApplications 75END 76 77USE [ASPState] 78GO 79 80IF (EXISTS (SELECT name FROM sysobjects WHERE (name = N'GetMajorVersion') AND (type = 'P'))) 81 DROP PROCEDURE [dbo].GetMajorVersion 82GO 83 84IF (EXISTS (SELECT name FROM sysobjects WHERE (name = N'CreateTempTables') AND (type = 'P'))) 85 DROP PROCEDURE [dbo].CreateTempTables 86GO 87 88IF (EXISTS (SELECT name FROM sysobjects WHERE (name = N'TempGetVersion') AND (type = 'P'))) 89 DROP PROCEDURE [dbo].TempGetVersion 90GO 91 92IF (EXISTS (SELECT name FROM sysobjects WHERE (name = N'GetHashCode') AND (type = 'P'))) 93 DROP PROCEDURE [dbo].GetHashCode 94GO 95 96IF (EXISTS (SELECT name FROM sysobjects WHERE (name = N'TempGetAppID') AND (type = 'P'))) 97 DROP PROCEDURE [dbo].TempGetAppID 98GO 99 100IF (EXISTS (SELECT name FROM sysobjects WHERE (name = N'TempGetStateItem') AND (type = 'P'))) 101 DROP PROCEDURE [dbo].TempGetStateItem 102GO 103 104IF (EXISTS (SELECT name FROM sysobjects WHERE (name = N'TempGetStateItem2') AND (type = 'P'))) 105 DROP PROCEDURE [dbo].TempGetStateItem2 106GO 107 108IF (EXISTS (SELECT name FROM sysobjects WHERE (name = N'TempGetStateItem3') AND (type = 'P'))) 109 DROP PROCEDURE [dbo].TempGetStateItem3 110GO 111 112IF (EXISTS (SELECT name FROM sysobjects WHERE (name = N'TempGetStateItemExclusive') AND (type = 'P'))) 113 DROP PROCEDURE [dbo].TempGetStateItemExclusive 114GO 115 116IF (EXISTS (SELECT name FROM sysobjects WHERE (name = N'TempGetStateItemExclusive2') AND (type = 'P'))) 117 DROP PROCEDURE [dbo].TempGetStateItemExclusive2 118GO 119 120IF (EXISTS (SELECT name FROM sysobjects WHERE (name = N'TempGetStateItemExclusive3') AND (type = 'P'))) 121 DROP PROCEDURE [dbo].TempGetStateItemExclusive3 122GO 123 124IF (EXISTS (SELECT name FROM sysobjects WHERE (name = N'TempReleaseStateItemExclusive') AND (type = 'P'))) 125 DROP PROCEDURE [dbo].TempReleaseStateItemExclusive 126GO 127 128IF (EXISTS (SELECT name FROM sysobjects WHERE (name = N'TempInsertUninitializedItem') AND (type = 'P'))) 129 DROP PROCEDURE [dbo].TempInsertUninitializedItem 130GO 131 132IF (EXISTS (SELECT name FROM sysobjects WHERE (name = N'TempInsertStateItemShort') AND (type = 'P'))) 133 DROP PROCEDURE [dbo].TempInsertStateItemShort 134GO 135 136IF (EXISTS (SELECT name FROM sysobjects WHERE (name = N'TempInsertStateItemLong') AND (type = 'P'))) 137 DROP PROCEDURE [dbo].TempInsertStateItemLong 138GO 139 140IF (EXISTS (SELECT name FROM sysobjects WHERE (name = N'TempUpdateStateItemShort') AND (type = 'P'))) 141 DROP PROCEDURE [dbo].TempUpdateStateItemShort 142GO 143 144IF (EXISTS (SELECT name FROM sysobjects WHERE (name = N'TempUpdateStateItemShortNullLong') AND (type = 'P'))) 145 DROP PROCEDURE [dbo].TempUpdateStateItemShortNullLong 146GO 147 148IF (EXISTS (SELECT name FROM sysobjects WHERE (name = N'TempUpdateStateItemLong') AND (type = 'P'))) 149 DROP PROCEDURE [dbo].TempUpdateStateItemLong 150GO 151 152IF (EXISTS (SELECT name FROM sysobjects WHERE (name = N'TempUpdateStateItemLongNullShort') AND (type = 'P'))) 153 DROP PROCEDURE [dbo].TempUpdateStateItemLongNullShort 154GO 155 156IF (EXISTS (SELECT name FROM sysobjects WHERE (name = N'TempRemoveStateItem') AND (type = 'P'))) 157 DROP PROCEDURE [dbo].TempRemoveStateItem 158GO 159 160IF (EXISTS (SELECT name FROM sysobjects WHERE (name = N'TempResetTimeout') AND (type = 'P'))) 161 DROP PROCEDURE [dbo].TempResetTimeout 162GO 163 164IF (EXISTS (SELECT name FROM sysobjects WHERE (name = N'DeleteExpiredSessions') AND (type = 'P'))) 165 DROP PROCEDURE [dbo].DeleteExpiredSessions 166GO 167 168IF EXISTS(SELECT name FROM systypes WHERE name ='tSessionId') 169 EXECUTE sp_droptype tSessionId 170GO 171 172IF EXISTS(SELECT name FROM systypes WHERE name ='tAppName') 173 EXECUTE sp_droptype tAppName 174GO 175 176IF EXISTS(SELECT name FROM systypes WHERE name ='tSessionItemShort') 177 EXECUTE sp_droptype tSessionItemShort 178GO 179 180IF EXISTS(SELECT name FROM systypes WHERE name ='tSessionItemLong') 181 EXECUTE sp_droptype tSessionItemLong 182GO 183 184IF EXISTS(SELECT name FROM systypes WHERE name ='tTextPtr') 185 EXECUTE sp_droptype tTextPtr 186GO 187 188/*****************************************************************************/ 189 190CREATE PROCEDURE dbo.GetMajorVersion 191 @@ver int OUTPUT 192AS 193BEGIN 194 DECLARE @version nchar(100) 195 DECLARE @dot int 196 DECLARE @hyphen int 197 DECLARE @SqlToExec nchar(4000) 198 199 SELECT @@ver = 7 200 SELECT @version = @@Version 201 SELECT @hyphen = CHARINDEX(N' - ', @version) 202 IF (NOT(@hyphen IS NULL) AND @hyphen > 0) 203 BEGIN 204 SELECT @hyphen = @hyphen + 3 205 SELECT @dot = CHARINDEX(N'.', @version, @hyphen) 206 IF (NOT(@dot IS NULL) AND @dot > @hyphen) 207 BEGIN 208 SELECT @version = SUBSTRING(@version, @hyphen, @dot - @hyphen) 209 SELECT @@ver = CONVERT(int, @version) 210 END 211 END 212END 213GO 214 215/*****************************************************************************/ 216 217USE [ASPState] 218 219/* Find out the version */ 220DECLARE @ver int 221EXEC dbo.GetMajorVersion @@ver=@ver OUTPUT 222 223DECLARE @cmd nchar(4000) 224 225IF (@ver >= 8) 226 SET @cmd = N' 227 CREATE PROCEDURE dbo.CreateTempTables 228 AS 229 CREATE TABLE [tempdb].dbo.ASPStateTempSessions ( 230 SessionId nvarchar(88) NOT NULL PRIMARY KEY, 231 Created datetime NOT NULL DEFAULT GETUTCDATE(), 232 Expires datetime NOT NULL, 233 LockDate datetime NOT NULL, 234 LockDateLocal datetime NOT NULL, 235 LockCookie int NOT NULL, 236 Timeout int NOT NULL, 237 Locked bit NOT NULL, 238 SessionItemShort VARBINARY(7000) NULL, 239 SessionItemLong image NULL, 240 Flags int NOT NULL DEFAULT 0, 241 ) 242 243 CREATE NONCLUSTERED INDEX Index_Expires ON [tempdb].dbo.ASPStateTempSessions(Expires) 244 245 CREATE TABLE [tempdb].dbo.ASPStateTempApplications ( 246 AppId int NOT NULL PRIMARY KEY, 247 AppName char(280) NOT NULL, 248 ) 249 250 CREATE NONCLUSTERED INDEX Index_AppName ON [tempdb].dbo.ASPStateTempApplications(AppName) 251 252 RETURN 0' 253ELSE 254 SET @cmd = N' 255 CREATE PROCEDURE dbo.CreateTempTables 256 AS 257 CREATE TABLE [tempdb].dbo.ASPStateTempSessions ( 258 SessionId nvarchar(88) NOT NULL PRIMARY KEY, 259 Created datetime NOT NULL DEFAULT GETDATE(), 260 Expires datetime NOT NULL, 261 LockDate datetime NOT NULL, 262 LockCookie int NOT NULL, 263 Timeout int NOT NULL, 264 Locked bit NOT NULL, 265 SessionItemShort VARBINARY(7000) NULL, 266 SessionItemLong image NULL, 267 Flags int NOT NULL DEFAULT 0, 268 ) 269 270 CREATE NONCLUSTERED INDEX Index_Expires ON [tempdb].dbo.ASPStateTempSessions(Expires) 271 272 CREATE TABLE [tempdb].dbo.ASPStateTempApplications ( 273 AppId int NOT NULL PRIMARY KEY, 274 AppName char(280) NOT NULL, 275 ) 276 277 CREATE NONCLUSTERED INDEX Index_AppName ON [tempdb].dbo.ASPStateTempApplications(AppName) 278 279 RETURN 0' 280 281EXEC (@cmd) 282GO 283 284/*****************************************************************************/ 285 286EXECUTE sp_addtype tSessionId, 'nvarchar(88)', 'NOT NULL' 287GO 288 289EXECUTE sp_addtype tAppName, 'varchar(280)', 'NOT NULL' 290GO 291 292EXECUTE sp_addtype tSessionItemShort, 'varbinary(7000)' 293GO 294 295EXECUTE sp_addtype tSessionItemLong, 'image' 296GO 297 298EXECUTE sp_addtype tTextPtr, 'varbinary(16)' 299GO 300 301/*****************************************************************************/ 302 303CREATE PROCEDURE dbo.TempGetVersion 304 @ver char(10) OUTPUT 305AS 306 SELECT @ver = "2" 307 RETURN 0 308GO 309 310/*****************************************************************************/ 311 312CREATE PROCEDURE dbo.GetHashCode 313 @input tAppName, 314 @hash int OUTPUT 315AS 316 /* 317 This sproc is based on this C# hash function: 318 319 int GetHashCode(string s) 320 { 321 int hash = 5381; 322 int len = s.Length; 323 324 for (int i = 0; i < len; i++) { 325 int c = Convert.ToInt32(s[i]); 326 hash = ((hash << 5) + hash) ^ c; 327 } 328 329 return hash; 330 } 331 332 However, SQL 7 doesn't provide a 32-bit integer 333 type that allows rollover of bits, we have to 334 divide our 32bit integer into the upper and lower 335 16 bits to do our calculation. 336 */ 337 338 DECLARE @hi_16bit int 339 DECLARE @lo_16bit int 340 DECLARE @hi_t int 341 DECLARE @lo_t int 342 DECLARE @len int 343 DECLARE @i int 344 DECLARE @c int 345 DECLARE @carry int 346 347 SET @hi_16bit = 0 348 SET @lo_16bit = 5381 349 350 SET @len = DATALENGTH(@input) 351 SET @i = 1 352 353 WHILE (@i <= @len) 354 BEGIN 355 SET @c = ASCII(SUBSTRING(@input, @i, 1)) 356 357 /* Formula: 358 hash = ((hash << 5) + hash) ^ c */ 359 360 /* hash << 5 */ 361 SET @hi_t = @hi_16bit * 32 /* high 16bits << 5 */ 362 SET @hi_t = @hi_t & 0xFFFF /* zero out overflow */ 363 364 SET @lo_t = @lo_16bit * 32 /* low 16bits << 5 */ 365 366 SET @carry = @lo_16bit & 0x1F0000 /* move low 16bits carryover to hi 16bits */ 367 SET @carry = @carry / 0x10000 /* >> 16 */ 368 SET @hi_t = @hi_t + @carry 369 SET @hi_t = @hi_t & 0xFFFF /* zero out overflow */ 370 371 /* + hash */ 372 SET @lo_16bit = @lo_16bit + @lo_t 373 SET @hi_16bit = @hi_16bit + @hi_t + (@lo_16bit / 0x10000) 374 /* delay clearing the overflow */ 375 376 /* ^c */ 377 SET @lo_16bit = @lo_16bit ^ @c 378 379 /* Now clear the overflow bits */ 380 SET @hi_16bit = @hi_16bit & 0xFFFF 381 SET @lo_16bit = @lo_16bit & 0xFFFF 382 383 SET @i = @i + 1 384 END 385 386 /* Do a sign extension of the hi-16bit if needed */ 387 IF (@hi_16bit & 0x8000 <> 0) 388 SET @hi_16bit = 0xFFFF0000 | @hi_16bit 389 390 /* Merge hi and lo 16bit back together */ 391 SET @hi_16bit = @hi_16bit * 0x10000 /* << 16 */ 392 SET @hash = @hi_16bit | @lo_16bit 393 394 RETURN 0 395GO 396 397/*****************************************************************************/ 398 399DECLARE @cmd nchar(4000) 400 401SET @cmd = N' 402 CREATE PROCEDURE dbo.TempGetAppID 403 @appName tAppName, 404 @appId int OUTPUT 405 AS 406 SET @appName = LOWER(@appName) 407 SET @appId = NULL 408 409 SELECT @appId = AppId 410 FROM [tempdb].dbo.ASPStateTempApplications 411 WHERE AppName = @appName 412 413 IF @appId IS NULL BEGIN 414 BEGIN TRAN 415 416 SELECT @appId = AppId 417 FROM [tempdb].dbo.ASPStateTempApplications WITH (TABLOCKX) 418 WHERE AppName = @appName 419 420 IF @appId IS NULL 421 BEGIN 422 EXEC GetHashCode @appName, @appId OUTPUT 423 424 INSERT [tempdb].dbo.ASPStateTempApplications 425 VALUES 426 (@appId, @appName) 427 428 IF @@ERROR = 2627 429 BEGIN 430 DECLARE @dupApp tAppName 431 432 SELECT @dupApp = RTRIM(AppName) 433 FROM [tempdb].dbo.ASPStateTempApplications 434 WHERE AppId = @appId 435 436 RAISERROR(''SQL session state fatal error: hash-code collision between applications ''''%s'''' and ''''%s''''. Please rename the 1st application to resolve the problem.'', 437 18, 1, @appName, @dupApp) 438 END 439 END 440 441 COMMIT 442 END 443 444 RETURN 0' 445EXEC(@cmd) 446GO 447 448/*****************************************************************************/ 449 450/* Find out the version */ 451 452DECLARE @ver int 453EXEC dbo.GetMajorVersion @@ver=@ver OUTPUT 454DECLARE @cmd nchar(4000) 455IF (@ver >= 8) 456 SET @cmd = N' 457 CREATE PROCEDURE dbo.TempGetStateItem 458 @id tSessionId, 459 @itemShort tSessionItemShort OUTPUT, 460 @locked bit OUTPUT, 461 @lockDate datetime OUTPUT, 462 @lockCookie int OUTPUT 463 AS 464 DECLARE @textptr AS tTextPtr 465 DECLARE @length AS int 466 DECLARE @now AS datetime 467 SET @now = GETUTCDATE() 468 469 UPDATE [tempdb].dbo.ASPStateTempSessions 470 SET Expires = DATEADD(n, Timeout, @now), 471 @locked = Locked, 472 @lockDate = LockDateLocal, 473 @lockCookie = LockCookie, 474 @itemShort = CASE @locked 475 WHEN 0 THEN SessionItemShort 476 ELSE NULL 477 END, 478 @textptr = CASE @locked 479 WHEN 0 THEN TEXTPTR(SessionItemLong) 480 ELSE NULL 481 END, 482 @length = CASE @locked 483 WHEN 0 THEN DATALENGTH(SessionItemLong) 484 ELSE NULL 485 END 486 WHERE SessionId = @id 487 IF @length IS NOT NULL BEGIN 488 READTEXT [tempdb].dbo.ASPStateTempSessions.SessionItemLong @textptr 0 @length 489 END 490 491 RETURN 0' 492ELSE 493 SET @cmd = N' 494 CREATE PROCEDURE dbo.TempGetStateItem 495 @id tSessionId, 496 @itemShort tSessionItemShort OUTPUT, 497 @locked bit OUTPUT, 498 @lockDate datetime OUTPUT, 499 @lockCookie int OUTPUT 500 AS 501 DECLARE @textptr AS tTextPtr 502 DECLARE @length AS int 503 DECLARE @now AS datetime 504 SET @now = GETDATE() 505 506 UPDATE [tempdb].dbo.ASPStateTempSessions 507 SET Expires = DATEADD(n, Timeout, @now), 508 @locked = Locked, 509 @lockDate = LockDate, 510 @lockCookie = LockCookie, 511 @itemShort = CASE @locked 512 WHEN 0 THEN SessionItemShort 513 ELSE NULL 514 END, 515 @textptr = CASE @locked 516 WHEN 0 THEN TEXTPTR(SessionItemLong) 517 ELSE NULL 518 END, 519 @length = CASE @locked 520 WHEN 0 THEN DATALENGTH(SessionItemLong) 521 ELSE NULL 522 END 523 WHERE SessionId = @id 524 IF @length IS NOT NULL BEGIN 525 READTEXT [tempdb].dbo.ASPStateTempSessions.SessionItemLong @textptr 0 @length 526 END 527 528 RETURN 0' 529 530EXEC (@cmd) 531GO 532 533/*****************************************************************************/ 534 535DECLARE @ver int 536EXEC dbo.GetMajorVersion @@ver=@ver OUTPUT 537DECLARE @cmd nchar(4000) 538IF (@ver >= 8) 539 SET @cmd = N' 540 CREATE PROCEDURE dbo.TempGetStateItem2 541 @id tSessionId, 542 @itemShort tSessionItemShort OUTPUT, 543 @locked bit OUTPUT, 544 @lockAge int OUTPUT, 545 @lockCookie int OUTPUT 546 AS 547 DECLARE @textptr AS tTextPtr 548 DECLARE @length AS int 549 DECLARE @now AS datetime 550 SET @now = GETUTCDATE() 551 552 UPDATE [tempdb].dbo.ASPStateTempSessions 553 SET Expires = DATEADD(n, Timeout, @now), 554 @locked = Locked, 555 @lockAge = DATEDIFF(second, LockDate, @now), 556 @lockCookie = LockCookie, 557 @itemShort = CASE @locked 558 WHEN 0 THEN SessionItemShort 559 ELSE NULL 560 END, 561 @textptr = CASE @locked 562 WHEN 0 THEN TEXTPTR(SessionItemLong) 563 ELSE NULL 564 END, 565 @length = CASE @locked 566 WHEN 0 THEN DATALENGTH(SessionItemLong) 567 ELSE NULL 568 END 569 WHERE SessionId = @id 570 IF @length IS NOT NULL BEGIN 571 READTEXT [tempdb].dbo.ASPStateTempSessions.SessionItemLong @textptr 0 @length 572 END 573 574 RETURN 0' 575 576EXEC (@cmd) 577GO 578 579 580/*****************************************************************************/ 581 582/* Find out the version */ 583 584DECLARE @ver int 585EXEC dbo.GetMajorVersion @@ver=@ver OUTPUT 586DECLARE @cmd nchar(4000) 587IF (@ver >= 8) 588 SET @cmd = N' 589 CREATE PROCEDURE dbo.TempGetStateItem3 590 @id tSessionId, 591 @itemShort tSessionItemShort OUTPUT, 592 @locked bit OUTPUT, 593 @lockAge int OUTPUT, 594 @lockCookie int OUTPUT, 595 @actionFlags int OUTPUT 596 AS 597 DECLARE @textptr AS tTextPtr 598 DECLARE @length AS int 599 DECLARE @now AS datetime 600 SET @now = GETUTCDATE() 601 602 UPDATE [tempdb].dbo.ASPStateTempSessions 603 SET Expires = DATEADD(n, Timeout, @now), 604 @locked = Locked, 605 @lockAge = DATEDIFF(second, LockDate, @now), 606 @lockCookie = LockCookie, 607 @itemShort = CASE @locked 608 WHEN 0 THEN SessionItemShort 609 ELSE NULL 610 END, 611 @textptr = CASE @locked 612 WHEN 0 THEN TEXTPTR(SessionItemLong) 613 ELSE NULL 614 END, 615 @length = CASE @locked 616 WHEN 0 THEN DATALENGTH(SessionItemLong) 617 ELSE NULL 618 END, 619 620 /* If the Uninitialized flag (0x1) if it is set, 621 remove it and return InitializeItem (0x1) in actionFlags */ 622 Flags = CASE 623 WHEN (Flags & 1) <> 0 THEN (Flags & ~1) 624 ELSE Flags 625 END, 626 @actionFlags = CASE 627 WHEN (Flags & 1) <> 0 THEN 1 628 ELSE 0 629 END 630 WHERE SessionId = @id 631 IF @length IS NOT NULL BEGIN 632 READTEXT [tempdb].dbo.ASPStateTempSessions.SessionItemLong @textptr 0 @length 633 END 634 635 RETURN 0' 636ELSE 637 SET @cmd = N' 638 CREATE PROCEDURE dbo.TempGetStateItem3 639 @id tSessionId, 640 @itemShort tSessionItemShort OUTPUT, 641 @locked bit OUTPUT, 642 @lockDate datetime OUTPUT, 643 @lockCookie int OUTPUT, 644 @actionFlags int OUTPUT 645 AS 646 DECLARE @textptr AS tTextPtr 647 DECLARE @length AS int 648 DECLARE @now AS datetime 649 SET @now = GETDATE() 650 651 UPDATE [tempdb].dbo.ASPStateTempSessions 652 SET Expires = DATEADD(n, Timeout, @now), 653 @locked = Locked, 654 @lockDate = LockDate, 655 @lockCookie = LockCookie, 656 @itemShort = CASE @locked 657 WHEN 0 THEN SessionItemShort 658 ELSE NULL 659 END, 660 @textptr = CASE @locked 661 WHEN 0 THEN TEXTPTR(SessionItemLong) 662 ELSE NULL 663 END, 664 @length = CASE @locked 665 WHEN 0 THEN DATALENGTH(SessionItemLong) 666 ELSE NULL 667 END, 668 669 /* If the Uninitialized flag (0x1) if it is set, 670 remove it and return InitializeItem (0x1) in actionFlags */ 671 Flags = CASE 672 WHEN (Flags & 1) <> 0 THEN (Flags & ~1) 673 ELSE Flags 674 END, 675 @actionFlags = CASE 676 WHEN (Flags & 1) <> 0 THEN 1 677 ELSE 0 678 END 679 WHERE SessionId = @id 680 IF @length IS NOT NULL BEGIN 681 READTEXT [tempdb].dbo.ASPStateTempSessions.SessionItemLong @textptr 0 @length 682 END 683 684 RETURN 0' 685 686EXEC (@cmd) 687GO 688 689/*****************************************************************************/ 690 691DECLARE @ver int 692EXEC dbo.GetMajorVersion @@ver=@ver OUTPUT 693DECLARE @cmd nchar(4000) 694IF (@ver >= 8) 695 SET @cmd = N' 696 CREATE PROCEDURE dbo.TempGetStateItemExclusive 697 @id tSessionId, 698 @itemShort tSessionItemShort OUTPUT, 699 @locked bit OUTPUT, 700 @lockDate datetime OUTPUT, 701 @lockCookie int OUTPUT 702 AS 703 DECLARE @textptr AS tTextPtr 704 DECLARE @length AS int 705 DECLARE @now AS datetime 706 DECLARE @nowLocal AS datetime 707 708 SET @now = GETUTCDATE() 709 SET @nowLocal = GETDATE() 710 711 UPDATE [tempdb].dbo.ASPStateTempSessions 712 SET Expires = DATEADD(n, Timeout, @now), 713 LockDate = CASE Locked 714 WHEN 0 THEN @now 715 ELSE LockDate 716 END, 717 @lockDate = LockDateLocal = CASE Locked 718 WHEN 0 THEN @nowLocal 719 ELSE LockDateLocal 720 END, 721 @lockCookie = LockCookie = CASE Locked 722 WHEN 0 THEN LockCookie + 1 723 ELSE LockCookie 724 END, 725 @itemShort = CASE Locked 726 WHEN 0 THEN SessionItemShort 727 ELSE NULL 728 END, 729 @textptr = CASE Locked 730 WHEN 0 THEN TEXTPTR(SessionItemLong) 731 ELSE NULL 732 END, 733 @length = CASE Locked 734 WHEN 0 THEN DATALENGTH(SessionItemLong) 735 ELSE NULL 736 END, 737 @locked = Locked, 738 Locked = 1 739 WHERE SessionId = @id 740 IF @length IS NOT NULL BEGIN 741 READTEXT [tempdb].dbo.ASPStateTempSessions.SessionItemLong @textptr 0 @length 742 END 743 744 RETURN 0' 745ELSE 746 SET @cmd = N' 747 CREATE PROCEDURE dbo.TempGetStateItemExclusive 748 @id tSessionId, 749 @itemShort tSessionItemShort OUTPUT, 750 @locked bit OUTPUT, 751 @lockDate datetime OUTPUT, 752 @lockCookie int OUTPUT 753 AS 754 DECLARE @textptr AS tTextPtr 755 DECLARE @length AS int 756 DECLARE @now AS datetime 757 758 SET @now = GETDATE() 759 UPDATE [tempdb].dbo.ASPStateTempSessions 760 SET Expires = DATEADD(n, Timeout, @now), 761 @lockDate = LockDate = CASE Locked 762 WHEN 0 THEN @now 763 ELSE LockDate 764 END, 765 @lockCookie = LockCookie = CASE Locked 766 WHEN 0 THEN LockCookie + 1 767 ELSE LockCookie 768 END, 769 @itemShort = CASE Locked 770 WHEN 0 THEN SessionItemShort 771 ELSE NULL 772 END, 773 @textptr = CASE Locked 774 WHEN 0 THEN TEXTPTR(SessionItemLong) 775 ELSE NULL 776 END, 777 @length = CASE Locked 778 WHEN 0 THEN DATALENGTH(SessionItemLong) 779 ELSE NULL 780 END, 781 @locked = Locked, 782 Locked = 1 783 WHERE SessionId = @id 784 IF @length IS NOT NULL BEGIN 785 READTEXT [tempdb].dbo.ASPStateTempSessions.SessionItemLong @textptr 0 @length 786 END 787 788 RETURN 0' 789 790EXEC (@cmd) 791GO 792 793 794/*****************************************************************************/ 795 796DECLARE @ver int 797EXEC dbo.GetMajorVersion @@ver=@ver OUTPUT 798DECLARE @cmd nchar(4000) 799IF (@ver >= 8) 800 SET @cmd = N' 801 CREATE PROCEDURE dbo.TempGetStateItemExclusive2 802 @id tSessionId, 803 @itemShort tSessionItemShort OUTPUT, 804 @locked bit OUTPUT, 805 @lockAge int OUTPUT, 806 @lockCookie int OUTPUT 807 AS 808 DECLARE @textptr AS tTextPtr 809 DECLARE @length AS int 810 DECLARE @now AS datetime 811 DECLARE @nowLocal AS datetime 812 813 SET @now = GETUTCDATE() 814 SET @nowLocal = GETDATE() 815 816 UPDATE [tempdb].dbo.ASPStateTempSessions 817 SET Expires = DATEADD(n, Timeout, @now), 818 LockDate = CASE Locked 819 WHEN 0 THEN @now 820 ELSE LockDate 821 END, 822 LockDateLocal = CASE Locked 823 WHEN 0 THEN @nowLocal 824 ELSE LockDateLocal 825 END, 826 @lockAge = CASE Locked 827 WHEN 0 THEN 0 828 ELSE DATEDIFF(second, LockDate, @now) 829 END, 830 @lockCookie = LockCookie = CASE Locked 831 WHEN 0 THEN LockCookie + 1 832 ELSE LockCookie 833 END, 834 @itemShort = CASE Locked 835 WHEN 0 THEN SessionItemShort 836 ELSE NULL 837 END, 838 @textptr = CASE Locked 839 WHEN 0 THEN TEXTPTR(SessionItemLong) 840 ELSE NULL 841 END, 842 @length = CASE Locked 843 WHEN 0 THEN DATALENGTH(SessionItemLong) 844 ELSE NULL 845 END, 846 @locked = Locked, 847 Locked = 1 848 WHERE SessionId = @id 849 IF @length IS NOT NULL BEGIN 850 READTEXT [tempdb].dbo.ASPStateTempSessions.SessionItemLong @textptr 0 @length 851 END 852 853 RETURN 0' 854 855EXEC (@cmd) 856GO 857 858 859/*****************************************************************************/ 860 861DECLARE @ver int 862EXEC dbo.GetMajorVersion @@ver=@ver OUTPUT 863DECLARE @cmd nchar(4000) 864IF (@ver >= 8) 865 SET @cmd = N' 866 CREATE PROCEDURE dbo.TempGetStateItemExclusive3 867 @id tSessionId, 868 @itemShort tSessionItemShort OUTPUT, 869 @locked bit OUTPUT, 870 @lockAge int OUTPUT, 871 @lockCookie int OUTPUT, 872 @actionFlags int OUTPUT 873 AS 874 DECLARE @textptr AS tTextPtr 875 DECLARE @length AS int 876 DECLARE @now AS datetime 877 DECLARE @nowLocal AS datetime 878 879 SET @now = GETUTCDATE() 880 SET @nowLocal = GETDATE() 881 882 UPDATE [tempdb].dbo.ASPStateTempSessions 883 SET Expires = DATEADD(n, Timeout, @now), 884 LockDate = CASE Locked 885 WHEN 0 THEN @now 886 ELSE LockDate 887 END, 888 LockDateLocal = CASE Locked 889 WHEN 0 THEN @nowLocal 890 ELSE LockDateLocal 891 END, 892 @lockAge = CASE Locked 893 WHEN 0 THEN 0 894 ELSE DATEDIFF(second, LockDate, @now) 895 END, 896 @lockCookie = LockCookie = CASE Locked 897 WHEN 0 THEN LockCookie + 1 898 ELSE LockCookie 899 END, 900 @itemShort = CASE Locked 901 WHEN 0 THEN SessionItemShort 902 ELSE NULL 903 END, 904 @textptr = CASE Locked 905 WHEN 0 THEN TEXTPTR(SessionItemLong) 906 ELSE NULL 907 END, 908 @length = CASE Locked 909 WHEN 0 THEN DATALENGTH(SessionItemLong) 910 ELSE NULL 911 END, 912 @locked = Locked, 913 Locked = 1, 914 915 /* If the Uninitialized flag (0x1) if it is set, 916 remove it and return InitializeItem (0x1) in actionFlags */ 917 Flags = CASE 918 WHEN (Flags & 1) <> 0 THEN (Flags & ~1) 919 ELSE Flags 920 END, 921 @actionFlags = CASE 922 WHEN (Flags & 1) <> 0 THEN 1 923 ELSE 0 924 END 925 WHERE SessionId = @id 926 IF @length IS NOT NULL BEGIN 927 READTEXT [tempdb].dbo.ASPStateTempSessions.SessionItemLong @textptr 0 @length 928 END 929 930 RETURN 0' 931ELSE 932 SET @cmd = N' 933 CREATE PROCEDURE dbo.TempGetStateItemExclusive3 934 @id tSessionId, 935 @itemShort tSessionItemShort OUTPUT, 936 @locked bit OUTPUT, 937 @lockDate datetime OUTPUT, 938 @lockCookie int OUTPUT, 939 @actionFlags int OUTPUT 940 AS 941 DECLARE @textptr AS tTextPtr 942 DECLARE @length AS int 943 DECLARE @now AS datetime 944 945 SET @now = GETDATE() 946 UPDATE [tempdb].dbo.ASPStateTempSessions 947 SET Expires = DATEADD(n, Timeout, @now), 948 @lockDate = LockDate = CASE Locked 949 WHEN 0 THEN @now 950 ELSE LockDate 951 END, 952 @lockCookie = LockCookie = CASE Locked 953 WHEN 0 THEN LockCookie + 1 954 ELSE LockCookie 955 END, 956 @itemShort = CASE Locked 957 WHEN 0 THEN SessionItemShort 958 ELSE NULL 959 END, 960 @textptr = CASE Locked 961 WHEN 0 THEN TEXTPTR(SessionItemLong) 962 ELSE NULL 963 END, 964 @length = CASE Locked 965 WHEN 0 THEN DATALENGTH(SessionItemLong) 966 ELSE NULL 967 END, 968 @locked = Locked, 969 Locked = 1, 970 971 /* If the Uninitialized flag (0x1) if it is set, 972 remove it and return InitializeItem (0x1) in actionFlags */ 973 Flags = CASE 974 WHEN (Flags & 1) <> 0 THEN (Flags & ~1) 975 ELSE Flags 976 END, 977 @actionFlags = CASE 978 WHEN (Flags & 1) <> 0 THEN 1 979 ELSE 0 980 END 981 WHERE SessionId = @id 982 IF @length IS NOT NULL BEGIN 983 READTEXT [tempdb].dbo.ASPStateTempSessions.SessionItemLong @textptr 0 @length 984 END 985 986 RETURN 0' 987 988EXEC (@cmd) 989GO 990 991 992/*****************************************************************************/ 993 994DECLARE @ver int 995EXEC dbo.GetMajorVersion @@ver=@ver OUTPUT 996DECLARE @cmd nchar(4000) 997IF (@ver >= 8) 998 SET @cmd = N' 999 CREATE PROCEDURE dbo.TempReleaseStateItemExclusive 1000 @id tSessionId, 1001 @lockCookie int 1002 AS 1003 UPDATE [tempdb].dbo.ASPStateTempSessions 1004 SET Expires = DATEADD(n, Timeout, GETUTCDATE()), 1005 Locked = 0 1006 WHERE SessionId = @id AND LockCookie = @lockCookie 1007 1008 RETURN 0' 1009ELSE 1010 SET @cmd = N' 1011 CREATE PROCEDURE dbo.TempReleaseStateItemExclusive 1012 @id tSessionId, 1013 @lockCookie int 1014 AS 1015 UPDATE [tempdb].dbo.ASPStateTempSessions 1016 SET Expires = DATEADD(n, Timeout, GETDATE()), 1017 Locked = 0 1018 WHERE SessionId = @id AND LockCookie = @lockCookie 1019 1020 RETURN 0' 1021 1022EXEC (@cmd) 1023GO 1024 1025 1026/*****************************************************************************/ 1027 1028DECLARE @ver int 1029EXEC dbo.GetMajorVersion @@ver=@ver OUTPUT 1030DECLARE @cmd nchar(4000) 1031IF (@ver >= 8) 1032 SET @cmd = N' 1033 CREATE PROCEDURE dbo.TempInsertUninitializedItem 1034 @id tSessionId, 1035 @itemShort tSessionItemShort, 1036 @timeout int 1037 AS 1038 1039 DECLARE @now AS datetime 1040 DECLARE @nowLocal AS datetime 1041 1042 SET @now = GETUTCDATE() 1043 SET @nowLocal = GETDATE() 1044 1045 INSERT [tempdb].dbo.ASPStateTempSessions 1046 (SessionId, 1047 SessionItemShort, 1048 Timeout, 1049 Expires, 1050 Locked, 1051 LockDate, 1052 LockDateLocal, 1053 LockCookie, 1054 Flags) 1055 VALUES 1056 (@id, 1057 @itemShort, 1058 @timeout, 1059 DATEADD(n, @timeout, @now), 1060 0, 1061 @now, 1062 @nowLocal, 1063 1, 1064 1) 1065 1066 RETURN 0' 1067ELSE 1068 SET @cmd = N' 1069 CREATE PROCEDURE dbo.TempInsertUninitializedItem 1070 @id tSessionId, 1071 @itemShort tSessionItemShort, 1072 @timeout int 1073 AS 1074 1075 DECLARE @now AS datetime 1076 SET @now = GETDATE() 1077 1078 INSERT [tempdb].dbo.ASPStateTempSessions 1079 (SessionId, 1080 SessionItemShort, 1081 Timeout, 1082 Expires, 1083 Locked, 1084 LockDate, 1085 LockCookie, 1086 Flags) 1087 VALUES 1088 (@id, 1089 @itemShort, 1090 @timeout, 1091 DATEADD(n, @timeout, @now), 1092 0, 1093 @now, 1094 1, 1095 1) 1096 1097 RETURN 0' 1098 1099EXEC (@cmd) 1100GO 1101 1102 1103/*****************************************************************************/ 1104 1105DECLARE @ver int 1106EXEC dbo.GetMajorVersion @@ver=@ver OUTPUT 1107DECLARE @cmd nchar(4000) 1108IF (@ver >= 8) 1109 SET @cmd = N' 1110 CREATE PROCEDURE dbo.TempInsertStateItemShort 1111 @id tSessionId, 1112 @itemShort tSessionItemShort, 1113 @timeout int 1114 AS 1115 1116 DECLARE @now AS datetime 1117 DECLARE @nowLocal AS datetime 1118 1119 SET @now = GETUTCDATE() 1120 SET @nowLocal = GETDATE() 1121 1122 INSERT [tempdb].dbo.ASPStateTempSessions 1123 (SessionId, 1124 SessionItemShort, 1125 Timeout, 1126 Expires, 1127 Locked, 1128 LockDate, 1129 LockDateLocal, 1130 LockCookie) 1131 VALUES 1132 (@id, 1133 @itemShort, 1134 @timeout, 1135 DATEADD(n, @timeout, @now), 1136 0, 1137 @now, 1138 @nowLocal, 1139 1) 1140 1141 RETURN 0' 1142ELSE 1143 SET @cmd = N' 1144 CREATE PROCEDURE dbo.TempInsertStateItemShort 1145 @id tSessionId, 1146 @itemShort tSessionItemShort, 1147 @timeout int 1148 AS 1149 1150 DECLARE @now AS datetime 1151 SET @now = GETDATE() 1152 1153 INSERT [tempdb].dbo.ASPStateTempSessions 1154 (SessionId, 1155 SessionItemShort, 1156 Timeout, 1157 Expires, 1158 Locked, 1159 LockDate, 1160 LockCookie) 1161 VALUES 1162 (@id, 1163 @itemShort, 1164 @timeout, 1165 DATEADD(n, @timeout, @now), 1166 0, 1167 @now, 1168 1) 1169 1170 RETURN 0' 1171 1172EXEC (@cmd) 1173GO 1174 1175 1176/*****************************************************************************/ 1177 1178DECLARE @ver int 1179EXEC dbo.GetMajorVersion @@ver=@ver OUTPUT 1180DECLARE @cmd nchar(4000) 1181IF (@ver >= 8) 1182 SET @cmd = N' 1183 CREATE PROCEDURE dbo.TempInsertStateItemLong 1184 @id tSessionId, 1185 @itemLong tSessionItemLong, 1186 @timeout int 1187 AS 1188 DECLARE @now AS datetime 1189 DECLARE @nowLocal AS datetime 1190 1191 SET @now = GETUTCDATE() 1192 SET @nowLocal = GETDATE() 1193 1194 INSERT [tempdb].dbo.ASPStateTempSessions 1195 (SessionId, 1196 SessionItemLong, 1197 Timeout, 1198 Expires, 1199 Locked, 1200 LockDate, 1201 LockDateLocal, 1202 LockCookie) 1203 VALUES 1204 (@id, 1205 @itemLong, 1206 @timeout, 1207 DATEADD(n, @timeout, @now), 1208 0, 1209 @now, 1210 @nowLocal, 1211 1) 1212 1213 RETURN 0' 1214ELSE 1215 SET @cmd = N' 1216 CREATE PROCEDURE dbo.TempInsertStateItemLong 1217 @id tSessionId, 1218 @itemLong tSessionItemLong, 1219 @timeout int 1220 AS 1221 DECLARE @now AS datetime 1222 SET @now = GETDATE() 1223 1224 INSERT [tempdb].dbo.ASPStateTempSessions 1225 (SessionId, 1226 SessionItemLong, 1227 Timeout, 1228 Expires, 1229 Locked, 1230 LockDate, 1231 LockCookie) 1232 VALUES 1233 (@id, 1234 @itemLong, 1235 @timeout, 1236 DATEADD(n, @timeout, @now), 1237 0, 1238 @now, 1239 1) 1240 1241 RETURN 0' 1242 1243EXEC (@cmd) 1244GO 1245 1246 1247/*****************************************************************************/ 1248 1249DECLARE @ver int 1250EXEC dbo.GetMajorVersion @@ver=@ver OUTPUT 1251DECLARE @cmd nchar(4000) 1252IF (@ver >= 8) 1253 SET @cmd = N' 1254 CREATE PROCEDURE dbo.TempUpdateStateItemShort 1255 @id tSessionId, 1256 @itemShort tSessionItemShort, 1257 @timeout int, 1258 @lockCookie int 1259 AS 1260 UPDATE [tempdb].dbo.ASPStateTempSessions 1261 SET Expires = DATEADD(n, Timeout, GETUTCDATE()), 1262 SessionItemShort = @itemShort, 1263 Timeout = @timeout, 1264 Locked = 0 1265 WHERE SessionId = @id AND LockCookie = @lockCookie 1266 1267 RETURN 0' 1268ELSE 1269 SET @cmd = N' 1270 CREATE PROCEDURE dbo.TempUpdateStateItemShort 1271 @id tSessionId, 1272 @itemShort tSessionItemShort, 1273 @timeout int, 1274 @lockCookie int 1275 AS 1276 UPDATE [tempdb].dbo.ASPStateTempSessions 1277 SET Expires = DATEADD(n, Timeout, GETDATE()), 1278 SessionItemShort = @itemShort, 1279 Timeout = @timeout, 1280 Locked = 0 1281 WHERE SessionId = @id AND LockCookie = @lockCookie 1282 1283 RETURN 0' 1284 1285EXEC (@cmd) 1286GO 1287 1288 1289/*****************************************************************************/ 1290 1291DECLARE @ver int 1292EXEC dbo.GetMajorVersion @@ver=@ver OUTPUT 1293DECLARE @cmd nchar(4000) 1294IF (@ver >= 8) 1295 SET @cmd = N' 1296 CREATE PROCEDURE dbo.TempUpdateStateItemShortNullLong 1297 @id tSessionId, 1298 @itemShort tSessionItemShort, 1299 @timeout int, 1300 @lockCookie int 1301 AS 1302 UPDATE [tempdb].dbo.ASPStateTempSessions 1303 SET Expires = DATEADD(n, Timeout, GETUTCDATE()), 1304 SessionItemShort = @itemShort, 1305 SessionItemLong = NULL, 1306 Timeout = @timeout, 1307 Locked = 0 1308 WHERE SessionId = @id AND LockCookie = @lockCookie 1309 1310 RETURN 0' 1311ELSE 1312 SET @cmd = N' 1313 CREATE PROCEDURE dbo.TempUpdateStateItemShortNullLong 1314 @id tSessionId, 1315 @itemShort tSessionItemShort, 1316 @timeout int, 1317 @lockCookie int 1318 AS 1319 UPDATE [tempdb].dbo.ASPStateTempSessions 1320 SET Expires = DATEADD(n, Timeout, GETDATE()), 1321 SessionItemShort = @itemShort, 1322 SessionItemLong = NULL, 1323 Timeout = @timeout, 1324 Locked = 0 1325 WHERE SessionId = @id AND LockCookie = @lockCookie 1326 1327 RETURN 0' 1328 1329EXEC (@cmd) 1330GO 1331 1332 1333/*****************************************************************************/ 1334 1335DECLARE @ver int 1336EXEC dbo.GetMajorVersion @@ver=@ver OUTPUT 1337DECLARE @cmd nchar(4000) 1338IF (@ver >= 8) 1339 SET @cmd = N' 1340 CREATE PROCEDURE dbo.TempUpdateStateItemLong 1341 @id tSessionId, 1342 @itemLong tSessionItemLong, 1343 @timeout int, 1344 @lockCookie int 1345 AS 1346 UPDATE [tempdb].dbo.ASPStateTempSessions 1347 SET Expires = DATEADD(n, Timeout, GETUTCDATE()), 1348 SessionItemLong = @itemLong, 1349 Timeout = @timeout, 1350 Locked = 0 1351 WHERE SessionId = @id AND LockCookie = @lockCookie 1352 1353 RETURN 0' 1354ELSE 1355 SET @cmd = N' 1356 CREATE PROCEDURE dbo.TempUpdateStateItemLong 1357 @id tSessionId, 1358 @itemLong tSessionItemLong, 1359 @timeout int, 1360 @lockCookie int 1361 AS 1362 UPDATE [tempdb].dbo.ASPStateTempSessions 1363 SET Expires = DATEADD(n, Timeout, GETDATE()), 1364 SessionItemLong = @itemLong, 1365 Timeout = @timeout, 1366 Locked = 0 1367 WHERE SessionId = @id AND LockCookie = @lockCookie 1368 1369 RETURN 0' 1370 1371EXEC (@cmd) 1372GO 1373 1374 1375/*****************************************************************************/ 1376 1377DECLARE @ver int 1378EXEC dbo.GetMajorVersion @@ver=@ver OUTPUT 1379DECLARE @cmd nchar(4000) 1380IF (@ver >= 8) 1381 SET @cmd = N' 1382 CREATE PROCEDURE dbo.TempUpdateStateItemLongNullShort 1383 @id tSessionId, 1384 @itemLong tSessionItemLong, 1385 @timeout int, 1386 @lockCookie int 1387 AS 1388 UPDATE [tempdb].dbo.ASPStateTempSessions 1389 SET Expires = DATEADD(n, Timeout, GETUTCDATE()), 1390 SessionItemLong = @itemLong, 1391 SessionItemShort = NULL, 1392 Timeout = @timeout, 1393 Locked = 0 1394 WHERE SessionId = @id AND LockCookie = @lockCookie 1395 1396 RETURN 0' 1397ELSE 1398 SET @cmd = N' 1399 CREATE PROCEDURE dbo.TempUpdateStateItemLongNullShort 1400 @id tSessionId, 1401 @itemLong tSessionItemLong, 1402 @timeout int, 1403 @lockCookie int 1404 AS 1405 UPDATE [tempdb].dbo.ASPStateTempSessions 1406 SET Expires = DATEADD(n, Timeout, GETDATE()), 1407 SessionItemLong = @itemLong, 1408 SessionItemShort = NULL, 1409 Timeout = @timeout, 1410 Locked = 0 1411 WHERE SessionId = @id AND LockCookie = @lockCookie 1412 1413 RETURN 0' 1414 1415EXEC (@cmd) 1416GO 1417 1418/*****************************************************************************/ 1419 1420DECLARE @cmd nchar(4000) 1421SET @cmd = N' 1422 CREATE PROCEDURE dbo.TempRemoveStateItem 1423 @id tSessionId, 1424 @lockCookie int 1425 AS 1426 DELETE [tempdb].dbo.ASPStateTempSessions 1427 WHERE SessionId = @id AND LockCookie = @lockCookie 1428 RETURN 0' 1429EXEC(@cmd) 1430GO 1431 1432/*****************************************************************************/ 1433 1434DECLARE @ver int 1435EXEC dbo.GetMajorVersion @@ver=@ver OUTPUT 1436DECLARE @cmd nchar(4000) 1437IF (@ver >= 8) 1438 SET @cmd = N' 1439 CREATE PROCEDURE dbo.TempResetTimeout 1440 @id tSessionId 1441 AS 1442 UPDATE [tempdb].dbo.ASPStateTempSessions 1443 SET Expires = DATEADD(n, Timeout, GETUTCDATE()) 1444 WHERE SessionId = @id 1445 RETURN 0' 1446ELSE 1447 SET @cmd = N' 1448 CREATE PROCEDURE dbo.TempResetTimeout 1449 @id tSessionId 1450 AS 1451 UPDATE [tempdb].dbo.ASPStateTempSessions 1452 SET Expires = DATEADD(n, Timeout, GETDATE()) 1453 WHERE SessionId = @id 1454 RETURN 0' 1455 1456EXEC (@cmd) 1457GO 1458 1459 1460/*****************************************************************************/ 1461 1462DECLARE @ver int 1463EXEC dbo.GetMajorVersion @@ver=@ver OUTPUT 1464DECLARE @cmd nchar(4000) 1465IF (@ver >= 8) 1466 SET @cmd = N' 1467 CREATE PROCEDURE dbo.DeleteExpiredSessions 1468 AS 1469 DECLARE @now datetime 1470 SET @now = GETUTCDATE() 1471 1472 DELETE [tempdb].dbo.ASPStateTempSessions 1473 WHERE Expires < @now 1474 1475 RETURN 0' 1476ELSE 1477 SET @cmd = N' 1478 CREATE PROCEDURE dbo.DeleteExpiredSessions 1479 AS 1480 DECLARE @now datetime 1481 SET @now = GETDATE() 1482 1483 DELETE [tempdb].dbo.ASPStateTempSessions 1484 WHERE Expires < @now 1485 1486 RETURN 0' 1487 1488EXEC (@cmd) 1489GO 1490 1491/*****************************************************************************/ 1492 1493EXECUTE dbo.CreateTempTables 1494GO 1495 1496USE master 1497GO 1498 1499DECLARE @sstype nvarchar(128) 1500SET @sstype = N'sstype_temp' 1501 1502IF UPPER(@sstype) = 'SSTYPE_TEMP' BEGIN 1503 DECLARE @cmd nchar(4000) 1504 1505 SET @cmd = N' 1506 /* Create the startup procedure */ 1507 CREATE PROCEDURE dbo.ASPState_Startup 1508 AS 1509 EXECUTE ASPState.dbo.CreateTempTables 1510 1511 RETURN 0' 1512 EXEC(@cmd) 1513 EXECUTE sp_procoption @ProcName='dbo.ASPState_Startup', @OptionName='startup', @OptionValue='true' 1514END 1515 1516/*****************************************************************************/ 1517 1518/* Create the job to delete expired sessions */ 1519 1520-- Add job category 1521-- We expect an error if the category already exists. 1522PRINT 'If the category already exists, an error from msdb.dbo.sp_add_category is expected.' 1523EXECUTE msdb.dbo.sp_add_category @name = N'[Uncategorized (Local)]' 1524GO 1525 1526BEGIN TRANSACTION 1527 DECLARE @JobID BINARY(16) 1528 DECLARE @ReturnCode int 1529 DECLARE @nameT nchar(200) 1530 SELECT @ReturnCode = 0 1531 1532 -- Add the job 1533 SET @nameT = N'ASPState' + '_Job_DeleteExpiredSessions' 1534 EXECUTE @ReturnCode = msdb.dbo.sp_add_job 1535 @job_id = @JobID OUTPUT, 1536 @job_name = @nameT, 1537 @owner_login_name = NULL, 1538 @description = N'Deletes expired sessions from the session state database.', 1539 @category_name = N'[Uncategorized (Local)]', 1540 @enabled = 1, 1541 @notify_level_email = 0, 1542 @notify_level_page = 0, 1543 @notify_level_netsend = 0, 1544 @notify_level_eventlog = 0, 1545 @delete_level= 0 1546 1547 IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback 1548 1549 -- Add the job steps 1550 SET @nameT = N'ASPState' + '_JobStep_DeleteExpiredSessions' 1551 EXECUTE @ReturnCode = msdb.dbo.sp_add_jobstep 1552 @job_id = @JobID, 1553 @step_id = 1, 1554 @step_name = @nameT, 1555 @command = N'EXECUTE DeleteExpiredSessions', 1556 @database_name = N'ASPState', 1557 @server = N'', 1558 @subsystem = N'TSQL', 1559 @cmdexec_success_code = 0, 1560 @flags = 0, 1561 @retry_attempts = 0, 1562 @retry_interval = 1, 1563 @output_file_name = N'', 1564 @on_success_step_id = 0, 1565 @on_success_action = 1, 1566 @on_fail_step_id = 0, 1567 @on_fail_action = 2 1568 1569 IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback 1570 1571 EXECUTE @ReturnCode = msdb.dbo.sp_update_job @job_id = @JobID, @start_step_id = 1 1572 IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback 1573 1574 -- Add the job schedules 1575 SET @nameT = N'ASPState' + '_JobSchedule_DeleteExpiredSessions' 1576 EXECUTE @ReturnCode = msdb.dbo.sp_add_jobschedule 1577 @job_id = @JobID, 1578 @name = @nameT, 1579 @enabled = 1, 1580 @freq_type = 4, 1581 @active_start_date = 20001016, 1582 @active_start_time = 0, 1583 @freq_interval = 1, 1584 @freq_subday_type = 4, 1585 @freq_subday_interval = 1, 1586 @freq_relative_interval = 0, 1587 @freq_recurrence_factor = 0, 1588 @active_end_date = 99991231, 1589 @active_end_time = 235959 1590 1591 IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback 1592 1593 -- Add the Target Servers 1594 EXECUTE @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @JobID, @server_name = N'(local)' 1595 IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback 1596 1597 COMMIT TRANSACTION 1598 GOTO EndSave 1599QuitWithRollback: 1600 IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION 1601EndSave: 1602GO 1603 1604/*************************************************************/ 1605/*************************************************************/ 1606/*************************************************************/ 1607/*************************************************************/ 1608 1609PRINT '' 1610PRINT '------------------------------------------' 1611PRINT 'Completed execution of InstallSqlState.SQL' 1612PRINT '------------------------------------------' 1613 1614
还没有找到您心仪的内容?请用.net源码大搜捕
代码片断 打包下载该项目完整源码:无忧劳保库存系统源码
51Aspx.com 版权所有 CopyRight © 2006-2010. 京ICP备06046876号 本站法律顾问:ITlaw-庄毅雄律师
返回顶部
客户服务:点击这里进行客户咨询 业务合作:点击这里洽谈业务合作 合作热线:010-68880146