Search This Blog

Tuesday, December 18, 2012

Find locked tables SQL Server

SQL Server > Dynamic Management Views and Functions > sys.dm_tran_locks

Returns information about currently active lock manager resources in SQL Server. Each row represents a currently active request to the lock manager for a lock that has been granted or is waiting to be granted.

Example:

Find locked tables SQL Server

select
   object_name(P.object_id) as TableName,
   resource_type,
   resource_description
from
   sys.dm_tran_locks L
   join sys.partitions P on L.resource_associated_entity_id = p.hobt_id





Static Constructors C#

C# > Class > static constructor

A static constructor is used to initialize any static data, or to perform a particular action that needs performed once only. It is called automatically before the first instance is created or any static members are referenced.

Static constructors have the following properties:

  • A static constructor is called automatically to initialize the class before the first instance is created or any static members are referenced.

  • A static constructor cannot be called directly.

  • A typical use of static constructors is when the class is using a log file and the constructor is used to write entries to this file.
Example

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication2
{
     public class Log
    {
         // Static constructor:
         static Log()
        {
            System.Console.WriteLine("The static constructor invoked.");
         }
         public static void Write(string text)
        {
           System.Console.WriteLine("The Write method invoked.");
        }
   }
   class Program
   {
       static void Main(string[] args)
      {
          Log.Write("text"); // constructor invoked
          Log.Write("text"); // constructor not invoked.
      }
  }
}





Friday, December 14, 2012

protected C#

C# > Access Modifiers > Protected

The protected access modifier is between the private and public and is accessible from within the class in which it is declared, and from within any class derived from the class that declared this member.

Example:

namespace WFA
{
   public  class A
    {
        protected int x = 1;
        private int y;
    }
    public class B : A
    {
        B()
        {
            x = 2; // can access x, but cannot access y
            A a = new A();
            a.x = 1; // Error: Cannot access protected member 'WFA.A.x' via a qualifier of type 'WFA.A'; the qualifier must be of type 'WFA.B' (or derived from it)
        }
    }



Partial Class c#

C# > Class > Partial

Partial split the definition of a class over  more source files.
Each source file contains a section of the class definition, and all parts are combined when the application is compiled.

Use partial class when:
  • working on large projects allows multiple programmers to work on it simultaneously.
  • working with automatically generated source, code can be added to the class without having to recreate the source file.
Example

public partial class Car
{
      public int Year()
     {
      }
}

public partial class Car
{
      public void Go()
     {
      }
}






Application Request Routing IIS

IIS Application Request Routing (ARR) 2.5 enables Web server administrators, hosting providers, and Content Delivery Networks (CDNs) to increase Web application scalability and reliability through rule-based routing, client and host name affinity, load balancing of HTTP server requests, and distributed disk caching. With ARR, administrators can optimize resource utilization for application servers to reduce management costs for Web server farms and shared hosting environments.

Microsoft Application Request Routing (ARR) for IIS 7 and above is a proxy-based routing module that forwards HTTP requests to content servers based on HTTP headers, server variables, and load balance algorithms. ARR can be used to:
  • Increase application availability and scalability.
  • Better utilize content server resources.
  • Facilitate application deployment including pilot management and A/B testing.
  • Lower management costs and create opportunities for shared hosters.
Install Application Request Routing

The Application Request Routing installer package contains the following components:
  • Microsoft URL Rewrite Module for IIS.
  • Microsoft Web Farm Management Version 1 for IIS.
  • Microsoft Application Request Routing Version 1 for IIS.
  • Microsoft External Cache Version 1 for IIS.
Download:

Microsoft Application Request Routing Version 2.5 for IIS 7 (x64)

Microsoft Application Request Routing Version 2.5 for IIS 7 (x86)





kill SQL Server

SQL Server > Transact-SQL > Kill

Terminates a user process that is based on the session ID.  

  • if the specified session has a lot of work to undo, the KILL statement may take some time to complete
  • KILL can be used to terminate a normal connection, which internally terminates the transactions that are associated with the specified session ID. 
  • can also be used to terminate orphaned and in-doubt distributed transactions when Microsoft Distributed Transaction Coordinator (MS DTC) is in use.


Example

exec sp_who

Results:
spid ecid status         loginame hostname    blk dbname                    cmd request_id
53   0       suspended sa            pc01            0    db                             DELETE 0

kill 53

Results:
Command(s) completed successfully.




sp_who SQL Server

SQL Server > System Stored Procedures > sp_who

Returns information about current users, sessions, and processes.
 Syntax: sp_who [ loginame | sessionID | 'ACTIVE' ]  

Example
Find the spid and kill user process.

exec sp_who

Results:
spid ecid status         loginame hostname    blk dbname                    cmd request_id
53   0       suspended sa            pc01            0    db                             DELETE 0

kill 53


sp_who2 is undocumented and unsupported. sp_who2 adds some extra columns which sp_who does not include.

EXEC sp_who2