How to Encrypt and Decrypt Text in SQL Server (2008+)

Here’s a simple example on how to encrypt (and decrypt) values in SQL Server:

How to Encrypt and Decrypt Text in SQL Server

 

--How to Encrypt and Decrypt Text in SQL Server (2008+)
--Example by Clint Huijbers

DECLARE
@Key1 NVARCHAR(50) = N'8g87g8ag4r8hinsg^%$#F&^F&^F^F&ÛIBOUG(%*^R&$%&#%^C5'
,@Key2 NVARCHAR(50) = N'&*^%R%^**F$F*OUYBYUB*F%74d654d7f685f65f56f6v6vc88d'
,@ValueToEncrypt VARCHAR(150) = 'This is the value that will be encrypted by the built-in function of SQL Server with two keys and 128-bits encryption :) blablablablablablablablablabl'
,@EncryptedValue VARBINARY(350) --Increase the VARBINARY size when you increase the lengh of @ValueToEncrypt!

SELECT @EncryptedValue = ENCRYPTBYPASSPHRASE((@Key1+N'||'+@Key2),@ValueToEncrypt)
SELECT @EncryptedValue

SELECT CONVERT(VARCHAR(150),DECRYPTBYPASSPHRASE((@Key1+N'||'+@Key2),@EncryptedValue))

 


 


 

Advertisements

SQL Server 2014 Developer Edition is now a free download

As of the 31st of March, SQL Server 2014 Developer Edition is now a free download:
https://myprodscussu1.app.vssubscriptions.visualstudio.com/Downloads?pid=1682

SQL Server 2014 Dev Download VS

Quote from MSDN:

SQL Server 2014 Developer Edition is now a free download for Visual Studio Dev Essentials members (you will be prompted to sign in to Visual Studio Dev Essentials before you can download SQL Server 2014 Developer Edition). We are making this change so that all developers can leverage the capabilities that SQL Server 2014 has to offer for their data solution, and this is another step in making SQL Server more accessible. SQL Server Developer Edition is for development and testing only, and not for production environments or for use with production data.

Visual Studio Dev Essentials is Microsoft’s most comprehensive free developer program ever, with everything you need to build and deploy your app on any platform, including state-of-the-art tools, the power of the cloud, training, and support.

Ohh….and this is also a nice one:

SQL Server 2016 Developer Edition, when released later this year, will also be free.

Read the full post on the SQL Server Blog: https://blogs.technet.microsoft.com/dataplatforminsider/2016/03/31/microsoft-sql-server-developer-edition-is-now-free/

 

Evaluation Editions:
Just want to download an evaluation edition?:
Microsoft® SQL Server® 2014 & 2016 Evaluation
Microsoft® SQL Server® 2012 Evaluation

SQL Server 2014 Dev Download

 


 


 


 

Two handy queries which can help you find things in your database


--Search for a specific string in object-definitions:
SELECT DISTINCT
o.name AS Object_Name
,o.type_desc
FROM sys.sql_modules m
INNER JOIN sys.objects o ON m.object_id = o.object_id
WHERE m.definition Like '%SELECT%'

--Find a column within the database:
SELECT
t.name AS TableName,
SCHEMA_NAME(schema_id) AS SchemaName,
c.name AS ColumnName
FROM sys.tables AS t
INNER JOIN sys.columns c ON t.OBJECT_ID = c.OBJECT_ID
WHERE c.name LIKE '%Customer%'
ORDER BY SchemaName, ColumnName









SSRS Dashboarding: a ‘webdesign-look’

Couple of weeks ago, I shared my SSRS dashboard with the community on LinkedIn:

SSRS Dashboard shared on LinkedIn














Koos van Strien asked for the source (RDL) and restyled the dashboard with his ‘webdesign-look’. Pretty nice!

SSRS Dashboard response on LinkedIn

















Koos discusses the changes he made to my dashboard on his blog:
http://www.msbiblog.com/2016/01/28/ssrs-non-ugly-5-the-nitty-griddy-details/#more-402

Here are both dashboards in full size:

SSRS Dashboard Clint Huijbers

 

SSRS Dashboard Koos van Strien



 


 


 

Pause SQL Server service before restarting

Did you know that by pausing the SQL Server service before restarting the instance we allow end users to continue their work uninterrupted and we also stop any new connections to the instance? This is a nicer way of telling people to “get out” of the database in order for the server to be rebooted. I wouldn’t leave the server paused for 60 minutes of course, but I would rather use this method than forcibly disconnect users and rollback their transactions.

When a server is paused you will see messages similar to this in the SQL Server error log:

Error: 17142, Severity: 14, State: 0.
SQL Server service has been paused. No new connections will be allowed. To resume the
service, use SQL Computer Manager or the Services application in Control Panel.

Error: 18456, Severity: 14, State: 13.
Login failed for user ''. Reason: SQL Server service is paused.
No new connections can be accepted at this time. [CLIENT: ]

Next time you are worried about rebooting during the day think about the pause button instead. It might be a nice compromise for your end-users.

Thank Thomas Larock for his blog post: http://thomaslarock.com/2016/01/pause-sql-server-service-before-restarting/








SQL Server Features List (all versions)

Normally you can find everything on Google, but there is literary no overall list of SQL Server features per version/release. So…I had to make the list myself starting from SQL Server 2012.
Did I forget a feature? Drop a comment.



SQL Server 2012:
– AlwaysOn Availability Groups
– AlwaysOn Failover Cluster Instances
– Non-Clustered Columnstore Indexes
– Data Quality Services (DQS)
– Tabular Model (SSAS)
– FileTable Storage
– Power View
– SQL Server Data Tools (SSDT)
– Contained Databases
– User-Defined Server Roles
– Enhanced Auditing Features
– Sequence Objects (sequence keys)
– Distributed Replay (capture a workload on a server and replay)
– T-SQL commands/statements (for example: THROW, PARSE, TRY_PARSE, TRY_CONVERT, TRY_CAST, CHOOSE, IIF, CONCAT, FORMAT, ROWS, RANGE, LAG, LEAD, PERCENT_RANK, ORDER BY…OFFSET/FETCH)



SQL Server 2014:
– In-Memory OLTP/Tables (256GB)
– Managed Backup to Azure
– Azure VMs for Availability replicas
– SQL Server Data Files in Azure
– Clustered / Updateable Columnstore Indexes
– Resource Governor for I/O
– Delayed durability
– Buffer Pool Extension (SSD)
– Incremental statistics
– Lock priority of online operations
– AlwaysOn Availability Groups (enhanced with support for additional secondary replicas and Windows Azure integration)
– Database Backup Encryption
– SQL Server Data Tools for Business Intelligence (SSDT-BI)
– Native Compiled Stored Procedures (“WITH NATIVE_COMPILATION”)
– T-SQL commands/statements (for example: SELECT INTO)



SQL Server 2016:
– Always Encrypted
– Row Level Security
– Dynamic Data Masking
– Data Compression / Decompression
– In-Memory Table Enhancements (2TB, FK, Constraints, ALTER, TDE, Triggers)
– Improvements on Columnstore Indexes (Parallel insert, Nonclustered B-tree indexes on top of the columnstore, Read/write nonclustered columnstore on top of a regular clustered index, REORGANIZE)
– Stretch Database
– Polybase
– Datazen
– Built-in R Support
– New SSRS Visualizations (‘Power BI’-like)
– Compare Execution Plans
– Multiple TempDB Database Files
– Live Query Statistics
– Native JSON Support
– Temporal Tables
– Query Store Built-in Reporting
– Natively compiled stored procedures can be nested
– T-SQL commands/statements (for example: DROP IF EXISTS, DATEDIFF_BIG, COMPRESS, DECOMPRESS, SESSION_CONTEXT)








SQL Server Management Data Warehouse (MDW)

The SQL Server Management Data Warehouse (MDW) is one of the most underappreciated features of SQL Server. But it’s a really handy feature which logs WaitStats and more, with almost no overhead (< 1% CPU). And…it does generate some nice reports which you could use to monitor your server (out of the box):

SQL Server 2012 Master DWH






























How to enable it
For more info (and how to enable it), please visit:
http://www.johnsansom.com/sql-server-management-data-warehouse-and-why-it-rocks/