17. September 2010

Deadlocks im SqlServer analysieren

Um Details zu einem DeadLock im SQL-Server zu analysieren müssen folgende beiden Statements zunächst auf dem SQLServer ausgeführt werden:
DBCC TRACEON(1204,-1)
und
DBCC TRACEON(1222,-1)
Im Falle eines DeadLocks erhält man dann im SQLSever-Errorlog (Achtung: NICHT IM WINDOWS EVENT-LOG, sondern in Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\LOG\ERRORLOG ) folgenden Eintrag:
4:33:24.60 spid5s      Deadlock encountered .... Printing deadlock information
2010-09-17 14:33:24.60 spid5s Wait-for graph
2010-09-17 14:33:24.62 spid5s
2010-09-17 14:33:24.62 spid5s Node:1

2010-09-17 14:33:24.62 spid5s KEY: 8:72057594042384384 (4600ba76d76e) CleanCnt:3 Mode:X Flags: 0x0
2010-09-17 14:33:24.62 spid5s Grant List 2:
2010-09-17 14:33:24.62 spid5s Owner:0x178A6BE0 Mode: X Flg:0x0 Ref:0 Life:02000000 SPID:57 ECID:0 XactLockInfo: 0x1CF52C7C
2010-09-17 14:33:24.62 spid5s SPID: 57 ECID: 0 Statement Type: SELECT Line #: 1
2010-09-17 14:33:24.62 spid5s Input Buf: Language Event: SELECT * FROM TAB_CATALOG
2010-09-17 14:33:24.62 spid5s Requested By:
2010-09-17 14:33:24.62 spid5s ResType:LockOwner Stype:'OR'Xdes:0x2B9038F8 Mode: S SPID:61 BatchID:0 ECID:0 TaskProxy:(0x26102378) Value:0x26effe40 Cost:(0/2356)
2010-09-17 14:33:24.62 spid5s
2010-09-17 14:33:24.62 spid5s Node:2

2010-09-17 14:33:24.62 spid5s KEY: 8:72057594040352768 (3c004236556a) CleanCnt:2 Mode:X Flags: 0x0

14. September 2010

T4 Templates debuggen mit VisualStudio

Um T4-Templates aus VisualStudio heraus zu debuggen muss das Template um die Debug Property erweitert werden:
<#@ template langauge="C#v3.5" debug="True"#>
Dadurch werden das notwendig PDB-File und die Source-Datei unter c:\Documents and Settings\USERNAME\Local Settings\Temp\ abgelegt. Danach kann im Script
System.Diagnostics.Debugger.Launch();
eingefügt werden um den Debugger zu starten.


Siehe auch http://www.olegsych.com/2008/09/t4-tutorial-debugging-code-generation-files

8. September 2010

Firefox & NTLM

Um im Firefox NTLM Authentification zu verwenden muss über
about:config
die Site eingetragen werden, zu der NTLM Authentification erlaubt werden soll. Dies wird unter
network.automatic-ntlm-auth.trusted-uris
gemacht. Mehrere Sites werden durch Komma getrennt:
http://intranet,http://server1