Partitioning Relational Data – (Part – 1) By Basit A. Farooq Introduction A common requirement for dealing with large datasets is the ability to split the data into smaller blocks to help improve performance. Performance degradation is evident once the tables reach larger sizes, and therefore, it is sometimes appropriate to break large tables using a process called partitioning or...
Standard Members
Concurrency Handling Techniques in ADO.NET [Part 1]
Concurrency Handling Techniques in ADO.NET [Part 1] The technique that allows us to detect and resolve conflicts that arise out of two concurrent requests to the same resource is defined as Concurrency Handling. This technique allows multiple users to access the same data simultaneously and yet ensure that the data remains consistent across all subsequent requests. In this series of...
Tips for using SQL Server 2012 constraints
Tips for using SQL Server 2012 constraints Try to create a single column constraint. The more columns the constraint will have, the slowly it will work and the more stored space it will require. Use cascading referential integrity constraints instead of triggers whenever possible. For example, if you need to make cascading deletes or updates, specify the ON DELETE or...
Tips for using SQL Server 2012 cursors
Tips for using SQL Server 2012 cursors Reduce the number of rows to process in the cursor. To reduce the cursor result set use the WHERE clause in the cursor’s select statement. Use FAST_FORWARD cursors, whenever possible. The FAST_FORWARD cursors produce the least amount of overhead on SQL Server 2012, because there are read-only cursors and can only be scrolled...
XML Support and SQL Server (Part 2) – XML Schemas
XML Support and SQL Server (Part 2) – XML Schemas By: Basit A. Farooq XML schemas Although, it is possible to create an XML document that follows no formal structure if the document (or fragment) is for internal or your own use. However, this isn’t recommended. Because, as we all know, working without a formal design often leads to a...
New Year’s Resolutions for DBAs
New Year’s Resolutions for DBAs By Craig Mullins At the beginning over every year many of us take the time to cobble together some resolutions for the coming year. We plan to lose weight, save money, stop smoking, and so on. Usually, it doesn’t take long before we’ve abandoned these resolutions. Perhaps we’d be wiser to make some business related...
Tips for using SQL Server 2012 bulk copy
Tips for using SQL Server 2012 bulk copy Use the -K option of the bcp utility. This option was first introduced in SQL Server 2012. If you specify "ReadOnly" for the -K option the read-only access to a secondary replica in an AlwaysOn availability group will be used. Consider using minimally logged bulk copy whenever possible. The minimally logged bulk...
System Health Session Dashboard — sp_server_diagnostics and more
System Health Session Dashboard – sp_server_diagnostics and more In my last article, I showed how to fetch the sp_server_diagnostics output from the System Health Session and utilize that information to create dashboard reports. A screenshot below shows the information component state summary matrix from a SQL Server instance. In this post, we will look at how to get information from...
Does my SQL Server database use any Edition specific features?
Does my SQL Server database use any Edition specific features? Author: Basit A. Farooq Introduction Today, I received a phone call from a friend who is thinking to downgrade the database hosted in SQL Server 2008 Enterprise Edition to SQL Server 2008 Standard Edition. He made me question whether this type of move is possible and is there any way...
Dealing With Sparse Date Data
Dealing With Sparse Date Data Generating a row per day within a specified date range is often necessary when you need to create a report showing daily results for each day in the range, regardless of whether there was an activity on a particular day or not. Suppose you need to generate a row for each day within the following...