Thursday, May 20, 2010

SQL SERVER MANAGEMENT DATA WAREHOUSE

    The Management Data Warehouse is intended as a centralized repository for performance data from servers across an enterprise, providing an out-of-the-box solution to performance management for SQL Server administrators who are responsible for performance and capacity management. The MDW is populated using data collectors. Three data collectors are set up as default by MDW setup wizard and further collectors can be confi gured as required. The MDW offers a scalable, customizable reporting solution that requires a minimal investment of configuration effort before providing value. The data collection solution utilizes SQL Server components such as SQL Server Agent jobs, SQL Server Integration Services to load performance data, and a relational data warehouse; and data is presented using SQL Server Reporting Services.
    The MDW is not a monitoring solution, as it has no capability to configure acceptable performance or operational thresholds and alerts; and it doesn’t provide real-time performance information (Activity Monitor provides this information). Nor does the MDW provide a centralized overview of all servers within an organization. In most medium-size and enterprise environments, it is still necessary for capacity and performance planning across the server estate, rather than on a per-server basis. However, used for the right purpose, MDW provides better insight than what was available before, as much of the valuable data available withinDMVs can be harvested and stored for mid and longterm performance trending and analysis.

Thursday, April 22, 2010

SQL Server DMV (Dynamic Management View)

The concept of Dynamic Management View (DMV) introduced in SQL Server 2005. The DMV designed to provide information about the current state of SQL Server. This helps to monitor the health of a server instance, diagnose problems and tune performance.
The DVMs are composed of both views and table-valued functions. There are two types of dynamic management views:
1.   Server Scoped DVM
2.   Database Scoped DVM
All DVMs exist in the “sys” schema and follow the naming convention “dm_*”. To query DVMs requires SELECT permission on object and VIEW SERVER STATE or VIEW DATABASE STATE permission.DVMs can be referenced in Transact-SQL statements.

Some DVMs:
sys.dm_os_sys_info: Returns a miscellaneous set of useful information about the computer, and about the resources available to and consumed by SQL Server
sys.dm_os_buffer_descriptors: Returns information about all the data pages (distributed according to database, object, or type) that are currently in the SQL Server buffer pool

Related Queries:
  • To check the space used by each database in the data cache:
    SELECT count(*)*8/1024                 AS 'Cached Size (MB)'
          ,CASE database_id
             WHEN 32767 THEN 'ResourceDb'
             ELSE db_name(database_id)
           END                           AS 'Database'
    FROM  sys.dm_os_buffer_descriptors
    GROUP BY db_name(database_id) ,database_id
    ORDER BY 'Cached Size (MB)' DESC
  • To check the dirty pages exists in each database:
    SELECT db_name(database_id)  AS 'Database'
          ,count(page_id)        AS 'Dirty Pages'
    FROM  sys.dm_os_buffer_descriptors
    WHERE is_modified =1
    GROUP BY db_name(database_id)
    ORDER BY count(page_id) DESC
  • To check the SQL Server machine information and its available resources:
    SELECT cpu_count             AS 'Number of logical CPUs in the server'
       ,hyperthread_ratio        AS 'Ratio of logical and physical CPUs'
       ,physical_memory_in_bytes AS 'Amount of physical memory available'
       ,virtual_memory_in_bytes  AS 'Amount of virtual memory available'
       ,bpool_committed          AS 'Committed physical memory in buffer pool'
       ,os_priority_class        AS 'Priority class for SQL Server process'
       ,max_workers_count        AS 'Maximum number of workers which can be created'
       FROM sys.dm_os_sys_info

Friday, March 26, 2010

The .Net Wave: Changing Face of Enterprise Applications

Growth of Web-based enterprise applications continues to skyrocket. The fastest growing segment of this booming marketing is .NET applications.

Microsoft .NET―Framework Summary
·           •      Built for mission-critical applications
·           •      Can scale to run the largest Web properties in the world
o    Exceptional developer productivity
o    Built for operational excellence
      Dynamic Systems Initiative (DSI)
o    Design for Operations (DFO)
o    Knowledge-driven management
o    Virtualized infrastructure
o    Complex development demands sophisticated management tools

Sample Application Architecture Diagram

Wednesday, February 3, 2010

Agile Software Development

Agile Manifesto
Uncovering better ways of developing software by doing it and helping others to do it. To achieve:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan

Principles
· Highest priority is to satisfy the customer through early and continuous delivery of valuable software.
· Welcoming changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
· Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to shorter time scales.
· Business people and developers must work together daily throughout the project.
· Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
· The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. Working software is the primary measure of progress.
· Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
· Continuous attention to technical excellence and good design enhances agility.
· Simplicity – the art of maximizing the amount of work not done- is essential.
· The best architectures, requirements, and designs emerge from selforganized teams.
· At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Agile Methods
The number of methods that claim to align the Agile Manifesto will continue to grow with the popularity of the agile software methodologies. The early initial methodologies include:
1. Extreme Programming
2. SCRUM
3. Crystal
4. Feature Driven Development
5. Lean Development
6. Adaptive Software Development
7. DSDM

Wednesday, January 13, 2010

FileZilla FTP Connection Error : The data connection could not be established: ETIMEDOUT - Connection attempt timed out

If you are trying connect to FTP site through FileZilla and you are getting below error, then you have to change connection settings to make it work.

Error : "The data connection could not be established: ETIMEDOUT - Connection attempt timed out"

Fix : In FileZilla menu bar click on File=>SiteManager. Select "Only use plain FTP(insecure)" option from Encryption drop down selection.


Friday, December 18, 2009

DirectX

Microsoft DirectX is a collection of application programming interfaces (APIs) for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms. Originally, the names of these APIs all began with Direct, such as Direct3D, DirectDraw, DirectMusic, DirectPlay, DirectSound, and so forth. The name DirectX was coined as shorthand term for all of these APIs (the X standing in for the particular API names) and soon became the name of the collection. 
Windows supports DirectX 8.0, which enhances the multimedia capabilities of your computer. DirectX provides access to the capabilities of your display and audio cards, which enables programs to provide realistic three-dimensional (3-D) graphics and immersive music and audio effects. DirectX is a set of low-level Application Programming Interfaces (APIs) that provides Windows programs with high-performance hardware-accelerated multimedia support.
DirectX enables the program to easily determine the hardware capabilities of your computer, and then sets the program parameters to match. This allows multimedia software programs to run on any Windows-based computer with DirectX compatible hardware and drivers and ensures that the multimedia programs take full advantage of high-performance hardware.
DirectX contains a set of APIs that provide access to the advanced features of high-performance hardware, such as 3-D graphics acceleration chips and sound cards. These APIs control low-level functions, including two-dimensional (2-D) graphics acceleration; support for input devices such as joysticks, keyboards, and mice; and control of sound mixing and sound output.
DirectX is composed of multiple APIs:
  • Direct3D (D3D): for drawing 3D graphics.
  • DXGI: for enumerating adapters and monitors and managing swap chains for Direct3D 10 and up.
  • Direct2D: for 2D graphics.
  • DirectWrite: for fonts.
  • DirectCompute: for GPU Computing.
  • DirectSound3D (DS3D): for the playback of 3D sounds.
  • DirectX Media: comprising DirectAnimation for 2D/3D[14] web animation, DirectShow for multimedia playback and streaming media, DirectX Transform for web interactivity, and Direct3D Retained Mode for higher level 3D graphics. DirectShow contains DirectX plugins for audio signal processing and DirectX Video Acceleration for accelerated video playback.
  • DirectX Diagnostics (DxDiag): a tool for diagnosing and generating reports on components related to DirectX, such as audio, video, and input drivers.
  • DirectX Media Objects: support for streaming objects such as encoders, decoders, and effects.
  • DirectSetup: for the installation of DirectX components, and the detection of the current DirectX version.
  • XACT3 higher-level audio API
  • XAudio2: low-level API for audio

Wednesday, December 2, 2009

Ethical Hacker

An ethical hacker is a computer and networking expert who systematically attempts to penetrate a computer system or network on behalf of its owners for the purpose of finding security vulnerabilities that a malicious hacker could potentially exploit. Ethical hackers use the same methods and techniques to test and bypass a system's defenses as their less-principled counterparts, but rather than taking advantage of any vulnerabilities found, they document them and provide actionable advice on how to fix them so the organization can improve its overall security.
'ethical hackers are becoming a mainstay of the effort to make corporate networks more secure'
For hacking to be deemed ethical, the hacker must obey the following rules:
  • Expressed (often written) permission to probe the network and attempt to identify potential security risks.
  • You respect the individual's or company's privacy.
  • You close out your work, not leaving anything open for you or someone else to exploit at a later time.
  • You let the software developer or hardware manufacturer know of any security vulnerabilities you locate in their software or hardware, if not already known by the company.
Difference between Security and Protection
  • Security and protection are extremely close concepts though not same.
  • Security measures are adopted to increase the level of protection.
  • The feeling of protection arises when one has enough security measures.
  • Security is a type of protection against external threats.
When it comes to cybersecurity, hacking comes in many colors: white, grey, black, and shades in between. White hat hackers use their skills for good. They practice ethical hacking: involved testing to see if an organization's network is vulnerable to outside attacks. Ethical hacking is key to strengthening network security, and it's one of the most desired stills for any IT security professional.