Skip to main content

Posts

SQL 20114 - AlwaysOn vs. Standalone

AlwaysOn availability groups has been around since SQL 2012 and they've been used to build highly available and disaster resilient solutions. But how much performance may you lose when placing your database into an availability group? The alwaysOn availability groups depend on the Windows Server Failover Cluster (WSFC) which in turn depends on Active directory. Thus, for  my test I need an environment like this Two servers (Node1 & Node2) are nodes in a WSFC and they have SQL 2014 installed. On Node1 I have two databases used for testing. Both databases are in Full recovery mode and before running each test I backed up the log file. The test script was executed from the Srv1 server. At the beginning all tables were dropped and recreated and then the script launched 2, 5, 10, and 15 concurrent clients running the same test (the description of the test is here ). The results are presented in this chart and they show approximately 50% drop in number of transactions ...

SQL 2014 - Encrypted backup overhead

In SQL 2014 there is a new feature in database backups - an encrypted backup. To encrypt backups you need to create a database master key for the MASTER database and either a certificate (as in example below) or an asymmetric key to use for the backup. Here is a script to backup the IndexDemo database with an encryption. USE master; GO CREATE MASTER KEY ENCRYPTION BY PASSWORD = '1qaz!QAZ'; GO IF EXISTS (select * from sys.certificates where name = 'TestBackupCert') DROP CERTIFICATE TestBackupCert; CREATE CERTIFICATE TestBackupCert WITH SUBJECT = 'Backup Encryption Certificate'; GO BACKUP DATABASE [IndexDemo] TO DISK = 'IndexDemoDB.bak'  WITH FORMAT, STATS=5 , ENCRYPTION (ALGORITHM = TRIPLE_DES_3KEY, SERVER CERTIFICATE = TestBackupCert);   -- AES_128, AES_192, AES_256, TRIPLE_DES_3KEY GO I was wondering how much overhead the encryption algorithms would add and decided to test it on my IndexDemo database which was hosted on a Azur...

SQL 2014 performance - Local disk vs. Azure Blob vs. Azure VM attached disk

Today I decided to compare SQL 2014 (RTM) performance when running a test against  - a local database (created on  WD7500BPKT - 750 GB 7200 RPM)  - a DB created on a disk attached to the A3 (3 cores, 7 GB) VM in Azure - a DB created on an Azure blob The VM in Azure was created in the US East region using the SQL 2014 template from the gallary provided by Microsoft. All databases were created with a single 10 GB data file (10 GB) and 1GB  log file. On the local SQL instance the DB was created as CREATE DATABASE TestDBonLocal ON     (NAME = file_data1, FILENAME = 'C:\TEMP\filedata1.mdf', SIZE = 10GB, FILEGROWTH = 256 MB )  LOG ON  (NAME = file_log1, FILENAME = 'C:\TEMP\filelog1.ldf', SIZE = 1GB, FILEGROWTH = 32 MB)  On the Azure VM the database on the attached disk (the disk was mapped as drive F:) was created as such CREATE DATABASE TestDBonDisk ON     (NAME = file_data1, FILENAME = 'F:\TMP\filedat...

SQL 2014 - ColumnStore Compression

I've decided to compare the compression options available in SQL 2014 CTP2 and created two identical tables T1 (without compression) and T2 (with PAGE compression). CREATE TABLE T1 ( ID INT IDENTITY PRIMARY  KEY CLUSTERED , FirstName VARCHAR(255) , LastName VARCHAR(255) , Age TinyInt , Province CHAR(2) ); GO CREATE TABLE T2 ( ID INT IDENTITY PRIMARY  KEY CLUSTERED , FirstName VARCHAR(255) , LastName VARCHAR(255) , Age TinyInt , Province CHAR(2) ) WITH (DATA_COMPRESSION = PAGE); GO I populated them with 42,5 mil records like this Declare @i int, @j int, @age tinyint, @id int, @maxFN INT, @maxLN INT, @province CHAR(2) , @st datetime; Declare @Prov TABLE (ID INT IDENTITY, Name CHAR(2)); SET NOCOUNT ON; INSERT INTO @Prov(Name) VALUES ('ON'); INSERT INTO @Prov(Name) VALUES ('QC'); INSERT INTO @Prov(Name) VALUES ('NS'); INSERT INTO @Prov(Name) VALU...

Juniper VPN Client causes RDP connection isses

On Windows 8 running RDP over Juniper client causes connectivity lost every couple of seconds. To fix this issue you need to disable UDP when accessing the servers via RDP protocol. In Local Group Policy editor (gpedit.msc) navigate to Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Connection Client -> and then enable the 'Turn Off UDP on client" policy. And then you can reliably reconnect  via RDP

Visual Studio 2012 - "Class already exists" when opening Model.bim

When opening Model.bim in Visual Studio 2012 (with update 2 installed) I got an error                    Class already exists and in the application log the Event ID 25 was also logged saying The description for Event ID 25 from source MSOLAP$LocalCube cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer. If the event originated on another computer, the display information had to be saved with the event. The following information was included with the event:  msmdsrv.rll 4105 4105 is locale ID corresponding to English (Canada). When I changed the language settings in Control Panel to English(US) the errors is gone and I can successfully open Model.bim file

Disable animation in Office 2013

If you have the animation in Office 2013 application you can disable it by modifying the registry (it will disable animation in all office 2013 applications). Navigate to this key HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Common\Graphics and add a new DWORD value DisableAnimations Set it to 1 to disable the animation (you'll need to close and re--launch the application) or change it back to 0 to re-enable it