Execute Powershell in SSIS Using C#

Execute Powershell in SSIS Using C#
3 (60%) 2 votes

Introduction

PowerShell is a Shell included in Windows to automate tasks in the operative system and other applications like SQL Server, SharePoint and Internet Information Services. You can create reports, start services, check the hard drive space, verify the RAM and more.

PowerShell can now be installed in Linux, Docker, and Mac.

You can use loops, comparisons, conditionals and more to create powerful scripts to automate tasks like creating Virtual Machines or SQL Servers in Azure.

In this new article, we will learn how to use the script task to invoke PowerShell in C#. The script task in SQL Server Integration Services (SSIS) allows using C# or VB code to extend the SSIS features. Read More

Transparent Data Encryption and Always Encrypted

Transparent Data Encryption and Always Encrypted
Rate this post

If you need to store confidential data in your database, you can use data encryption. SQL Server supports encryption with symmetric keys, asymmetric keys, certificates, and password phrases. I assume that you, the reader, are already familiar with these terms. In this article, I will focus on two out of many encryption options provided by SQL Server:

  • Transparent Data Encryption (TDE)
  • Always Encrypted (AE)

Read More

SSAS: Discipline, Accuracy, Attention to Details

SSAS: Discipline, Accuracy, Attention to Details
Rate this post

Introduction:

This article is about working with Microsoft Analysis Services and a little bit about the repository on Microsoft SQL Server that SSAS is working with. I had to deal with not quite trivial things and sometimes I had to “jump over my head” in order to complete my task. I had to work between meetings. Sometimes the new functionality was discussed longer than it was developed. Often at meetings, I had to repeat the same thing several times. When I said that it’s hard for me to have a discussion for more than one hour, people looked at me with surprise and misunderstanding. Thanks largely to this situation, these nontrivial things about which I decided to write appeared.

Read More

Introduction to Temporary Tables in SQL Server

Introduction to Temporary Tables in SQL Server
4.5 (89.14%) 35 votes

A temporary table in SQL Server, as the name suggests, is a database table that exists temporarily on the database server. A temporary table stores a subset of data from a normal table for a certain period of time.

Temporary tables are particularly useful when you have a large number of records in a table and you repeatedly need to interact with a small subset of those records. In such cases instead of filtering the data again and again to fetch the subset, you can filter the data once and store it in a temporary table. You can then execute your queries on that temporary table. Temporary tables are stored inside “tempdb” which is a system database. Let’s take a look at how you can use a temporary data in a simple scenario.

Read More

Why Multiple JOINs are bad for Query or Do Not Get in the Way of Optimizer

Why Multiple JOINs are bad for Query or Do Not Get in the Way of Optimizer
Rate this post

Recently, I came across an application that generated DB queries. I understand that there is nothing new about that, but when application began running slow and I had to find out the reason of the slowdown, I was amazed to find these queries. Here is what SQL Server sometimes has to deal with: Read More

CombGuid: Generation of SQL Server-friendly Guid Values in .NET Applications

CombGuid: Generation of SQL Server-friendly Guid Values in .NET Applications
Rate this post

Usage of UUID as a primary key for tables has a bunch of pros, including the option to retrieve IDs for objects created in a client application on its own without calls to the database server. However, usage of UUID as a primary key has a con: GUIDs generated by the client application may be not quite SQL Server-friendly that can lead to the overhead during the addition of a new record. Read More

Pitfalls of Linked Server Usage

Pitfalls of Linked Server Usage
2.7 (53.33%) 3 votes

An interesting project related to the task queue processing come to the company I work for. It was previously developed by another team. We needed to detect and resolve issues that occurred at high load on the queue.

In short, the project consisted of several databases and applications located on different servers. A ‘Task’ in the given project is a stored procedure or a .NET application. Correspondingly, the ‘task’ must be performed on a certain database and on a certain server.

All queue-related data is stored on the dedicated server. As for the servers at which tasks must be performed, they store only metadata. That is, procedures, functions, and service data related to this server. All task-related data comes from a Linked Server. Read More

Dynamic T-SQL and Benefits of its Usage

Dynamic T-SQL and Benefits of its Usage
Rate this post

In our projects, we have to cope with different tasks. To solve some of them, we use dynamic T-SQL.

Why do we need dynamic T-SQL? Well, it is up to you.

In one of the projects, we have solved the task of building dynamic reports, and in others — data migration. Dynamic T-SQL is essential when you need to create, modify, get data or objects, but values or names come as parameters. For sure, it may seem unreasonable. Still, such tasks are possible. Later in the article, we will see several examples.

Read More

SQL Server Security Ponderings – Part 2 | Database owner + TRUSTWORTHY

SQL Server Security Ponderings – Part 2 | Database owner + TRUSTWORTHY
2.7 (53.33%) 3 votes

This article is the second one of the three articles devoted to a particular security configuration combination of database security.

In my previous article, I presented a scenario in which we were able to compromise data in a SQL Server database.

I would like to note that the knowledge of this configuration combination is critical. In this article, I am going to provide further information and reasons for the importance of this issue. Read More

SQL Server: The dark side of NVARCHAR

SQL Server: The dark side of NVARCHAR
5 (100%) 1 vote

Introduction

In this article, we are going to talk about using the nvarchar data type. We will explore how SQL Server stores this data type on the disk and how it is processed in the RAM. We will also examine how the size of nvarchar may affect performance.

Actual data size: nchar vs nvarchar

We use nvarchar when the size of column data entries are probably going to vary considerably. The storage size (in bytes) is twice as much the actual length of data entered + 2 bytes. This allows us to save disk storage in comparison of using nchar data type.  Let us consider following example. We are creating two tables. One table contains nvarchar column, another table contains nchar columns. The size of the column is 2000 characters (4000 bytes).

Read More