Showing posts from April, 2009

bird's eye view over SQL Server Performance

There is good statement that you can see what is going on Database DBCC SQLPERF('waitstats') it collects wait status group by Wait Type.

get index fragmentation status of SQL Server 2005 database

here is good trick that you can obtain fragmentation status of each table in any selected database SELECT as TableName, as IndexName, avg_fragmentation_in_percent as Fragmentation FROM sys.dm_db_index_physical_stats (DB_ID(), null, NULL, NULL, NULL) AS a JOIN sys.indexes AS b ON a.object_id = b.object_id AND a.index_id = b.index_id, sys.tables as c where c.object_id=a.object_id order by avg_fragmentation_in_percent; Results ; Fragmentation > 5 AND < 30 : Reorganize Index - ALTER INDEX REORGANIZE to do Sp_MSForEachTable @command1 = "PRINT 'ALTER INDEX ALL ON TABLE ? WITH Reorganize'", @command2= "ALTER INDEX ALL ON ? REORGANIZE" for every table on selected database in SQL Server 2005. Fragmentation > 30 Rebuild Index - ALTER INDEX REBUILD to do EXEC Sp_MSForEachTable @command1 = "PRINT 'ALTER INDEX ALL ON TABLE ? REBUILD' ", @command2="ALTER INDEX ALL ON ? REBUILD WITH (FILLFACTOR = 80, ONLINE = OFF,SORT_IN_TEMP

How to add .net based user control to AX 2009

if you would like to add any user control prepared on .net platform into AX 2009 you should follow the steps: 1-Create Active X and wrap the user control with unmanaged code. 2-register to windows as COM object. 3-call it from AX. 1- Here is sample code: //create Class type project in Visual Studio //Set events that will be used in AX //presents to caller [ComVisible(true)] //create interface type of Dispatch [InterfaceType(ComInterfaceType.InterfaceIsIDispatch)] //Create unique key, used by windows //you can create a guid from tools menu on visual studio easily. [Guid("102B961D-60B6-4990-8B29-4802F7F9D293")] public interface IEventInterface { [DispId(1)] //define events that we want to use void ValidateEdit(object sender, ValidateEditEventArgs e); } [ComVisible(true)] //class unique ID [ProgId("DC.ActiveX.C1FlexGrid")] //declera EventInterface class for the class [ComSourceInterfaces(typeof(IEventInterface))] //class type should be AutoDual [ClassInterface(ClassInt