Tuesday, August 18, 2009

Silverlight Links

Some Useful Silverlight links:

1) Pros and Cons - http://weblogs.asp.net/dwahlin/archive/2009/08/18/building-line-of-business-applications-with-silverlight-3-pros-and-cons.aspx

2) Book recommendations - http://timheuer.com/blog/articles/silverlight-book-recommendations.aspx

Essential Silverlight 3 - http://www.amazon.com/Essential-Silverlight-Microsoft-NET-Development/dp/0321554167/ref=sr_1_1?ie=UTF8&s=books&qid=1250551330&sr=1-1

3) Collection of great Silverlight/WPF Data Visualization resources

4) SilverLight Show

5) Silverlight chart - Columns of differnet color

6) Jeff Wilcox

7) Using Silverlight in SharePoint 2007

8) Silverlight resources for designers

9) Gavin Wignall

10) Silverlight Show - 100+ articles

11) Great Performance Tips

12) Ensuring SL2 Applications work with SL3

13) Joel Neuback

14) Accessibility - http://www.code-magazine.com/articleprint.aspx?quickid=0810062&printmode=true

15) Building accessible media experiences - http://amp.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=25044#DownloadId=62649

16) Jeff Wilcox - http://www.jeff.wilcox.name/blog/

Labels: ,

Tuesday, January 13, 2009

Sharepoint Links

Monday, November 24, 2008

SQL Server Reporting Services - Which reports are executed with what parameters

I was trying to find out which SSRS reports were executed in my server and what were the parameters used. It looks like there isn't a simple way and I will have to follow the steps mentioned here -

http://msdn.microsoft.com/en-us/library/ms155836(SQL.90).aspx

Thursday, July 03, 2008

3 Character Month abbreviation to equivalent number

Easy way to convert the 3 character month abbreviation to equivalent month number -

DECLARE @MyTable table
( RowID int IDENTITY,
ShortMonth char(3)
)

INSERT INTO @MyTable VALUES ( 'Aug' )
INSERT INTO @MyTable VALUES ( 'Feb' )

SELECT (( patindex( ('%,' + ShortMonth + '%' ),',Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec,' ) / 4 ) + 1 ) FROM @MyTable

Ref: http://forums.microsoft.com/msdn/ShowPost.aspx?PostID=3569811&SiteID=1

Sunday, July 29, 2007

SQL Server - Clearing Cache

For analyzing a query performance - we need to clear the SQL Server cache (both data and execution plans).

To clear all data from cache - use command DBCC DROPCLEANBUFFERS;
Check out http://msdn2.microsoft.com/en-us/library/ms187762.aspx for more details.

To clear all execution plans from cache - use command DBCC FREEPROCCACHE;
Check out http://msdn2.microsoft.com/en-us/library/ms174283.aspx for more details.

To clear execution plans of a particular database from cache - use command DBCC FLUSHPROCINDB(databaseId). FLUSHPROCINDB is an undocumented command.

Tuesday, July 24, 2007

Design Question on SQL Server Transaction Replication and Table Partitions

Requirements:

OLTP database (on SQL Server 2005) accessed by an online processing system and a reporting application as shown in the diagram.

1) The online processing system needs to access only subset of records (recent records).
2) The reporting application needs complete set of records and should be able to access them in almost real time.
3) For better performance, security and logical segregation – we need to have online processing system and Reporting application access different instances of the database.

Solution:

To satisfy Requirement 1:
a) Partition transaction table.
b) Switch old partitions out when they are no longer needed. (Switching partitions out for getting rid of old records is much efficient than executing DELETE statement.)
c) Online Processing System to access partition tables.

To satisfy Requirement 2:
a) Create insert / update trigger on the Partitioned table
b) Insert / Update on Full Table for every Insert / Update on Partitioned table.
c) Triggers aren’t invoked during partition switching of Partitioned Table – hence all records will remain in Full Table.

To satisfy Requirement 3:
a) Setup Transaction Replication between 2 SQL Instances
b) Replicate the Full Table.
c) Reporting application to access the replicated Full Table.

Questions / Issues in this approach:
a) Is it advisable to use triggers in production systems. Are there any known drawbacks.
b) Inserts / Updates to Partitioned Table have slowed down because of insert / update triggers associated with Partitioned Table.
c) When SQL Replication is enabled – the performance of the system still goes down – Tested by having the distributor with Publisher and with Subscriber. Having the Distributor with Subscriber is found to be performing little better than having the Distributor with Publisher.

Your comments / opinions on this approach is welcome.

Are there any better approaches for satisfying the above listed requirements without hampering the performance of Online Processing System.

Sunday, April 15, 2007

Transact SQL - Executing Statements multiple times

In order to execute a set of SQL statements / stored procedure multiple times - I have been using the traditional method of WHILE loop. The other day Vijay suggested an easy approach making use of the GO command.

We can specify a number 'N' after GO command and the batch will be executed 'N' number of times. For example - if we want to call the stored procedure 'StoredProcedureName' 100 times - the command would be

EXEC 'StoredProcedureName'
GO 100

Labels: