This article explores the Term extraction transformation in SSIS and its usage scenario.
Introduction
Developers face new requirements and challenges each day. They write complex codes to fulfill these requirements. Recently my developer friend approached me for text mining. The requirement is to extract the following information from text stored in the SQL table.
- Noun
- Noun phrases
- Nouns and noun phrases
To explain this situation, create the following SQL table.
1 2 3 4 5 6 7 8 9 10 |
USE [SQLShackDemo] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[articles]( [Article List] [nvarchar](100) NOT NULL ) ON [PRIMARY] GO |
In this table, I inserted my published article titles on SQLShack (total 137) using the following query in the appendix.
Data in the SQL table looks like below.
In this article, we will explore how to extract the required information using the SSIS package transformations.
Prerequisites
- You should have basic knowledge of SSIS package configuration such as data flow, execute a task, connection manager configurations. You can go through SSIS articles on SQLShack for this
- This article uses term Extraction transformation in SSIS. It is an Enterprise level feature. You can configure it in other environments but cannot execute this without the Enterprise edition. Read more about Editions and supported features
Overview of Term Extraction Transformation in SSIS
We use the Term Extraction Transformation for extracting terms from the source data. We can extract four kinds of data from this transformation.
- Nouns Only: It extracts a single-word noun, for example, Hat, Bottle, Table, and Car
- Noun Phrases: Noun Phrases is a combination of Noun and Noun or an adjective. For Examples: Red Car, Hot bottle
- Nouns and Noun Phrases: It extracts both the Nouns and Noun Phrases in this option
Few important facts about the Term Extraction Transformation in SSIS
- We can extract information from English Text only. It uses its English dictionary for this
-
It does not extract the articles and pronouns. For example, the transformation fetches Car from the following words
The Car, Your Car, That Car
- It generates a score for each extracted term. We can use score type as Frequency or TF-IDF
- Frequency: It represents several occurrences of a term in the text. It is a real number such as 1.0, 2.0
- TF-IDF: It is a short form of Term Frequency and Inverse Document Frequency. We break into two parts to understand
TF: Term Frequency: It shows the frequency of a term in the text
TF(t) = (Frequency of a term in the text) / (Total number of words in the text).
IDF: Inverse Document Frequency: It uses a mathematics log function to calculate the inverse document frequency
IDF(t) = log_e(Total number of rows / Number of rows having term in it).
- It uses the spaces, line breaks and word terminators such as Dot (.), Comma (,) and question mark (?)
- We can have words with a hyphen or underscore in the text such as cross-region, read-only. Term extractions consider these as a single word
- It ignores the special characters such as @,#. For example, it considers #SQL as SQL
- It does not break the word using the apostrophe. For example, it considers word Children’s as Children
- It splits the email address, postal address and time expressions into separate words
- It ignores acronyms in a word and considers it as a single word. For example, it considers X.Y.Z as XYZ
-
It also converts the plural noun into a singular noun. For example:
- Cars become Car
- Women become Woman
- Babies become Baby
- Tooth becomes Teeth
-
By Default, the term extraction performs case insensitive search. It follows the following rules for the case insensitive search
- It normalizes the capital letters into non-capitalized characters
- Word Car, CAR and car all get converts to car
- Ram drives car or Ram drives a CAR are similar for the text extraction
- If we use the case sensitive search, the extraction considers word car and Car as separate words
- Term: It extracts terms such as Nouns from the text
- Score: In this column, we get the frequency of a term in the text
-
Term Type: we can select the term type as the following options
- Noun
- Noun phrase
- Noun and noun phrase
- Scope type: As defined earlier, we can select scope type as Frequency or TFIDF
- Frequency threshold: By default, it shows the frequency threshold 2 in the screenshot. It shows that a particular term should repeat a minimum two times. If it appears less than two times, it ignores the term
- The maximum length of item: in this column, we define the maximum length of a word or phrase. By default, its value is 12. It is available for Noun phrase, Noun and noun phrase term types
- Use case-sensitive term extraction: We can perform a case-sensitive term extraction using this option
- Score type: Frequency
- Term type: Noun and noun phase
- Term type: Noun
- Scope type: Frequency
- Enable case-sensitive search
- Understanding PostgreSQL SUBSTRING function - September 21, 2024
- How to install PostgreSQL on Ubuntu - July 13, 2023
- How to use the CROSSTAB function in PostgreSQL - February 17, 2023
Suppose a document contains 100 words, and the SQL appears three times.
TF: Term Frequency: for the term SQL, the TF value is 3/100=0.03
IDF: Inverse Document Frequency: Suppose we have 200 rows in the SQL table and word SQL appears in 50 documents.
We calculate the value for the IDF using the following function.
Log(200/50)= 1.39
Therefore, the value of TDIDF is 0.03*1.39 = 0.0417
The Term Extraction Transformation in SSIS works with the text column having data type as DT_WSTR or DT_NTEXT. If we have text data in other columns, we can convert them to the appropriate format and use the transformation
Extraction of Terms for Term Extraction Transformation in SSIS
SSIS Term Extraction splits the text into smaller words. It considers the following points for the term extraction.
Create an SSIS package for Term Extraction Transformation in SSIS
In the Data Tools for Visual Studio, create an integration package and configure a data flow task. This data flow task selects the data from the source table we created earlier.
Once we have configured the data flow task for the source table, you get the following package configuration.
Drag the Term Extraction from the SSIS Toolbox and connect it with the source table using the green arrow.
Double-click on the term extractions, and it opens the term extraction transformation editor.
In the first tab, Term Extraction, select the input columns. It shows the available columns from the configured data source. Put a check on the input column.
It gives the two output columns Term and Score.
We can change the name of these columns as well. Type the new names in the text box, as shown below.
We will skip the configuration in the tab Exclusion as of now. Click on the Advanced tab, and it opens the following configurations.
We have following configuration available in the advanced section.
Let’s use the following options for term extractions.
Click OK, and we can see the following SSIS data flow configuration. You see a warning message that rows sent to the error will be lost. We have not configured the error output, and we can ignore this warning message.
If we do not want this warning message, double click on term extraction and click on Configure Error Output.
In the Error column, select Ignore failure option as shown below.
We do not see a warning message for the term extraction.
Let’s add an OLE DB destination to store the output in a SQL table. You can use an existing table or create a new table.
In the mapping, verify the mapping between source and destination tables.
The Term Extraction Transformation in SSIS configuration is now complete as shown in the following image.
Execute the SSIS package. In the following screenshot, we can see the package executed successfully.
Let’s check the records in the destination table. We can see the extracted Noun terms and their frequency.
Now, change the scope type as TFIDF for the Noun.
Execute the SSIS package, and we get the following output. You can notice the difference in the terms and their scores as compared to the frequency scope type.
Let’s modify the term extractions for
It extracts 25 rows from the source table and inserts into the destination table.
In the output, you can see we get the noun phrase and noun. Previously, we get only a single word noun.
By default, term extraction transformation in SSIS is a case-insensitive activity. We can perform case-sensitive term extraction with the option Use case-sensitive term extraction.
Execute the package to perform Term Extraction in SSIS and view the result in the destination table.
Before executing this package, I made a few changes in the article list and changed some word from SQL to Sql. It should treat both the word separate due to a case-sensitive search.
In the output, you can notice both terms are different, and we get the frequency for both terms separately.
Previously, we ignored the configuration in the Exclusion tab. We can specify the terms that we do not want to available in the output.
Create an exclusion table and insert excluded terms. For example, we do not want BI term in the output.
123456Create table Exclusion(excludedwords varchar(20))Insert into Exclusion values ('BI')In the exclusion tab, select the OLE DB connection manager and select the table from the drop-down list.
Execute the package, and you do not get the term specified in the exclusion table in the output.
Conclusion
The term extraction transformation in SSIS is a great idea to extract the relevant terms such as nouns, noun phrases from the specified text. You can also prepare a Word cloud in the Power BI Desktop after extracting information from the text. You can also use this transformation to analyze comments received from a blog post or website as well. You should explore this transformation to fulfill your requirements.
Appendix
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282USE [SQLShackDemo]GOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TABLE [dbo].[articles]([Article List] [nvarchar](100) NOT NULL) ON [PRIMARY]GOINSERT [dbo].[articles] ([Article List]) VALUES (N'CASE statement in SQL')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL Convert Date functions and formats')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL Server 2019 overview and installation')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Power BI Desktop and Python; like Peanut Butter and Chocolate')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'FILESTREAM in SQL Server')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL PARTITION BY Clause overview')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Managing data with SQL Server FILESTREAM tables')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL Server Data Import using Azure Data Studio')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL Server Always On Listeners')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'How to get a SQL database restore history')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL Server 2019 on Linux with Ubuntu')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Uninstalling SQL Server on Ubuntu')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Data synchronization in SQL Server Always On Availability Groups')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL Server FILETABLE ? the next generation of SQL FILESTREAM')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Enhanced PolyBase SQL 2019 ? Installation and basic overview')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Flow Map Chart in Power BI Desktop')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Using Python SQL scripts for Importing Data from Compressed files')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Change default database file and backup paths in SQL Server on Linux')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Restoring a SQL Server FILESTREAM enabled database')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Power BI Desktop Pie Chart Tree')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL Server Profiler in Azure Data Studio')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'How to create a Word Cloud generator in Power BI Desktop')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL Server 2019 on Linux with Ubuntu and Azure Data Studio')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL TRIM function')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'DBATools PowerShell Module for SQL Server')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL truncate enhancement: Silent Data truncation in SQL Server 2019')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL data classification ? Add sensitivity classification in SQL Server 2019')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Improvements of Scalar User-defined function performance in SQL Server 2019')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Ask a Question feature in Power BI Desktop')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL Server 2019 on Linux with a Docker container on Ubuntu')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL Server Always On Availability Group Data Resynchronization')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'"Enhanced PolyBase SQL 2019 ? External tables SQL Server, Catalog view and PushDown"')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Importing Data into SQL Server from Compressed Files')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Candlestick chart for stock data analysis in Power BI Desktop')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Graph Database features in SQL Server 2019 ? Part 1')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL FILESTREAM and SQL Server Full Text search')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL SELECT INTO statement')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL Union vs Union All in SQL Server')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Importing data from a PDF file in Power BI Desktop')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'How to recognize corrupted SQL backup files')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL Restore Database using DBATools')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Static Data Masking in SSMS 18')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL Server CONCATENATE Operations with SQL Plus (+) and SQL CONCAT functions')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Enhanced PolyBase SQL 2019 ? External tables using t-SQL')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL Server FILESTREAM Database backup overview')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL Server Always ON Availability Group Log Backup on Secondary Replicas')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Power BI desktop Mekko Charts')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Managing Data in SQL Server FILETABLEs')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Accelerated Database Recovery; Instant Rollback and Database Recovery')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL Database Backups using PowerShell Module ? DBATools')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Enhanced PolyBase SQL 2019 ? External tables for Oracle DB')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'"Columnstore Index Enhancements ? data compression, estimates and savings"')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Renaming Logical and Physical file names in SQL Server on Linux')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Power BI Desktop Interactive chord diagrams')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Enhanced PolyBase SQL 2019 ? MongoDB and external table')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL Server 2019 installation on Ubuntu without a Docker Container')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL Server FILESTREAM Database Corruption and Remediation')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Power BI Desktop Q&A data interaction examples')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'DATEPART SQL function')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'PowerShell SQL Server Validation Utility ? DBAChecks')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL Server FILETABLE Use Cases')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL ISNULL function')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL Code Snippets in Azure Data Studio')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Columnstore Index Enhancements ? Index stats update in clone databases')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL Order by Clause overview and examples')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Row Mode Memory Grant Feedback in SQL Server 2019')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'DBATools PowerShell SQL Server Database Backups commands')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL Add Column operations')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Lightweight performance profiling in SQL Server 2019')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Importing SQL Server FILESTREAM data with SSIS packages')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Columnstore Index Enhancements ? online and offline (re)builds')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL Server FILESTREAM queries and Filegroups')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Changing SQL Dump file locations in SQL Server on Linux')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Get details of SQL Server Database Growth and Shrink Events')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Read Scale Availability Group in a clusterless availability group')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Hexbin Scatterplot in Power BI Desktop')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'The new SQL Server 2019 function Approx_Count_Distinct')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL Notebooks introduction and overview')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL CHARINDEX')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Database Upgrade using the Query Tuning Assistant wizard in SSMS 18')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Overview of SQL IIF Statement')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Export SQL Server FILESTREAM Objects with PowerShell and SSIS')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL Not Equal Operator introduction and examples')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'DATEADD SQL function introduction and overview')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Working with SQL Server FILESTREAM ? Adding columns and moving databases')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Power BI Desktop Pulse Charts')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Enlighten World Flag Slicer in Power BI Desktop')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Isolation levels behavior in SQL Server Always On Availability Groups')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Fix Orphan users in SQL Server using DBATools PowerShell')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL OUTER JOIN overview and examples')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Validate backups with SQL restore database operations using DBATools')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Renaming a SQL Server instance on Ubuntu Linux')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Viewing SQL Server FILESTREAM data with SSRS')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Transaction log backups in a SQL FILESTREAM database')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Accelerated Database Recovery and Long Running Transactions with Transaction Log Growth')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Automatic Seeding in Always On Availability Groups')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL Server Statistics in Always On Availability Groups')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL Server 2019 ? New DMF sys.dm_db_page_info')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL Server FILESTREAM database recovery scenarios')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Get SQL Database details using DBATools')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Helpful Linux commands for SQL Server DBAs ? iotop and iostat')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Data Sampling with Python SQL Scripts')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Overview of SQL Server Ports')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Script SQL Server objects using DBATools')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL IF Statement introduction and overview')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL Server FILESTREAM internals overview')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'"SQL FILESTREAM Compatibility with Database Snapshot, Mirroring, TDE and Log Shipping"')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL Server FILESTREAM and Replication')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Difference between SQL Truncate and SQL Delete statements in SQL Server')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Monitoring Disk Space on Linux ? Helpful Commands for SQL Server DBAs')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Creating a SQL Server Database using DBATools')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL Server FILESTREAM with Change Data Capture')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'"Overview of SQL Server Rounding Functions ? SQL Round, Ceiling and Floor"')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Overview of the SQL Count Distinct Function')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Overview of Service Principal Name and Kerberos authentication in SQL Server')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Get-DbaHelpIndex command in DBATools')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Overview of SQL RANK functions')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'INSERT INTO SELECT statement overview and examples')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL View ? A complete introduction and walk-through')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'IDENTITY columns threshold using PowerShell SQL Server DBATools')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Helpful Linux commands for SQL Server DBAs ? top')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL STUFF function overview')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Comparing VARCHAR(max) vs VARCHAR(n) data types in SQL Server')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Overview of SQL Server Startup Parameters for the SQL Database Engine Service')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Identity function tutorial in SQL Server')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Max Worker Threads for SQL Server Always on Availability Group databases')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Applying Transaction Logs to the Secondary Replica in SQL Server Always On Availability Groups')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'View Definition Permissions in SQL Server')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL Server Lead function overview and examples')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'A walk-through of moving database files in SQL Server Always On Availability Groups')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Understanding Log Sequence Numbers for SQL Server Transaction Log Backups and Full Backups')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'FOR XML PATH clause in SQL Server')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'DBCC FREEPROCCACHE command introduction and overview')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL DROP TABLE statement overview')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'Windows Failover Cluster Quorum Modes in SQL Server Always On Availability Groups')GOINSERT [dbo].[articles] ([Article List]) VALUES (N'SQL Between Operator overview and examples')GOLatest posts by Rajendra Gupta (see all)