Today, I received an email from the developer asking if there is a better way instead of the COUNT (*) Transact-SQL statement, to count the number of records in a table. My reply to his question is yes, there are several methods to get this information from SQL Server. However,… Read more
One of the key tasks of a DBA is to maintain the database indexes and make sure they are not fragmented. You can use a sys.dm_db_index_physical_stats in a script to rebuild or reorganize indexes based on fragmentation. However, sometimes we may need to rebuild all indexes on all tables in… Read more
Today, one of the developers come to me and asked me the question that is there any T-SQL function that he could use to remove everything before and after a specific character in string. For example, if the table contains the full names of the people in the format… Read more
Here is the simple query that returns basic information about all tables in a database that are partitioned:
SELECT SCHEMA_NAME([schema_id]) AS [schema_name] ,t.[name] AS [table_name] ,i.[name] AS [index_name] ,i.[type_desc] AS [index_type] ,ps.[name] AS [partition_scheme] ,pf.[name] AS [partition_function] ,p.[partition_number] ,r.[value] AS [current_partition_range_boundary_value] ,p.[rows] AS [partition_rows] ,p.[data_compression_desc] FROM sys.tables t INNER JOIN…
Get performance statistics for queries and query plans that are cached by SQL Server for faster query execution
You can use the following two DMVs to give you that information:
- sys.dm_exec_cached_plans – You can use this dynamic management view to see information about the plans that are cached by SQL Server, along with other information such as cached query text, the amount of memory taken by cached plans,…
Transact-SQL (T-SQL) query to return the status and detail information for all SQL Server Full-Text Catalogs on an SQL Server instance
We have about 200 user databases in which we have the full-text search enabled and these databases contain several tables. As part of my daily checks, I have to check the status of all full-text catalogs, to ensure that all full-text catalogs are successfully populated without errors. However, to check… Read more
Get SQL Server Physical Cores, Physical and Virtual CPUs, and Processor type information using Transact-SQL (T-SQL) script
Today, I received email from one of my blog follower asking if there is any DMV or SQL script, which he can use to find the following information about the processors that are available to and consumed by SQL Server:
- Total number of physical CPUs
- Total number of physical cores…
The 8th cumulative update (CU8) for SQL Server 2012 Service Pack 1 is now available for download at the Microsoft site here.
CU8 contains all the SQL Server 2012 SP1 hotfixes which have been available since the initial release of SQL Server 2012 SP1.
Just a quick blog post to share a query, which I wrote to monitor availability groups and replicas and the associated databases:
WITH [AvailabilityGroupReplicaCTE] AS ( SELECT dc.[database_name] ,dr.[synchronization_state_desc] ,dr.[suspend_reason_desc] ,dr.[synchronization_health_desc] ,dr.[replica_id] ,ar.[availability_mode_desc] ,ar.[primary_role_allow_connections_desc] ,ar.[secondary_role_allow_connections_desc] ,ar.[failover_mode_desc] ,ar.[endpoint_url] ,ar.[owner_sid] ,ar.[create_date] ,ar.[modify_date] ,dr.[recovery_lsn] ,dr.[truncation_lsn] ,dr.[last_sent_lsn] ,dr.[last_sent_time] ,dr.[last_received_lsn] ,dr.[last_received_time] ,dr.[last_hardened_lsn] ,dr.[last_hardened_time] ,dr.[last_redone_lsn] ,dr.[last_redone_time]…
To optimize the performance of your database, you need to monitor and tune. You determine the performance baseline, how SQL Server is currently performing, through monitoring. Your optimization process includes making changes and then monitoring their effect. This means adjusting two overlapping performance areas, that is, database server performance and… Read more
SQL Server databases are the backbone of many enterprise applications, and good Transact-SQL (T-SQL) code is the best way to maximize SQL Server performance. Therefore, it is important for SQL developers to follow T-SQL best practices and guidelines when writing code. This article highlights some common T-SQL best practices to… Read more
Microsoft Windows Azure SQL Database, commonly known as SQL Azure, is a relational database in the cloud that is part of the Windows Azure platform. Although Windows Azure SQL Database is built on the SQL Server platform, there are differences you should consider when performing an Azure SQL Database migration. Read more
A critical part of database design and management is index design. Index design involves balancing space requirements and the resource overhead required to keep indexes up-to-date compared to the performance improvements resulting from the indexes. You can either use dynamic management functions (DMFs) and views (DMVs) or Database Engine Tuning… Read more
An execution plan is the sequence of operations SQL Server query optimizer performs to run the statements. The SQL Server query optimizer creates an execution plan before it actually runs a query. As per Microsoft Book Online, “Execution plans graphically display the data retrieval methods chosen by the SQL Server… Read more
Many database servers store confidential data, which must be protected from unauthorized access when it’s transmitted across the network and stored on the server. SQL Server provides support for encrypted connections, encrypting data, encrypting database and for encrypted storage.
Bulk transfers are a common way of importing large amounts of data into, or exporting large amounts of data out of, SQL Server databases. SQL Server supports bulk transfers run from an operating system command line or the SQL Server command processor. When performing bulk transfers, you must consider the… Read more
A trigger is a specialized stored procedure that activates (executes) in response to an event. There are two basic trigger types, ie data manipulation language (DML) trigger and data definition language (DDL) trigger, based on the type of event that causes them to fire. For example, a data manipulation language… Read more
SQL Server Integration Services (SSIS) security is based around several layers that provide a rich and flexible security environment. These layers of security include the use of digital signature, package properties, SQL Server database roles and operating system permissions.
In the first of this three-part series, you will learned how to use scripts and batches, and basics of T-SQL variables.
Checkout the part-2 of this article series here, you will learn about Transact-SQL control-of-flow language, including BEGIN…END, IF…ELSE, CATCH, WHILE, BREAK, CONTINUE, RETURN, and WAITFOR.
This article is… Read more
SQL Server users use Transact-SQL programming to create sets of statements for ad-hoc execution. The aim of the Transact-SQL programming is to carry out its transformation objectives by using: Command statements, Variables, and Control-of-flow statements. In this context, a command statement is any executable statement. This includes Transact-SQL commands, stored… Read more