Wednesday, May 27, 2015

[Event Notifications] SQL Server 2016 CTP2 is out, what's new in EN-land?

Quickie post since I can't get Chrome or Firefox to download a VM so I can log onto work, and Azure is taking forever to start it up.

Why? SQL Server 2016 public CTP is out!  (Technically CTP2, but still...)

Naturally, the first things I want to know:
What's changed in Event Notifications?  Has SQL Trace actually (finally) been excised?  How do things look?  Did they rewrite SSMS again?

So, doing a quick looksee....

Profiler appears to be there.

select * from sys.event_notification_event_types
395

select * from sys.trigger_event_types
275

But what's new?

Okay, first up, sys.event_notification_event_types.

309 CREATE_AUDIT 10072
310 DROP_AUDIT 10072
311 ALTER_AUDIT 10072
312 CREATE_SECURITY_POLICY 10073
313 ALTER_SECURITY_POLICY 10073
314 DROP_SECURITY_POLICY 10073
315 CREATE_COLUMN_MASTER_KEY_DEFINITION 10074
316 DROP_COLUMN_MASTER_KEY_DEFINITION 10074
317 CREATE_COLUMN_ENCRYPTION_KEY 10075
318 ALTER_COLUMN_ENCRYPTION_KEY 10075
319 DROP_COLUMN_ENCRYPTION_KEY 10075

10072 DDL_DATABASE_AUDIT_EVENTS 10029
10073 DDL_SECURITY_POLICY_EVENTS 10016
10074 DDL_COLUMN_MASTER_KEY_EVENTS 10016
10075 DDL_COLUMN_ENCRYPTION_KEY_EVENTS 10016



Okay, so I made a mistake on the VM - did 2012 instead of 2014.  But what's obviously new?  Well, Column Encryption got 5 separate events.  Create/Drop/Alter_Audit (and DDL_DATABASE_AUDIT_EVENTS) were all added in 2014.  So we have the remaining three (and their "group") - CREATE_SECURITY_POLICY, ALTER_SECURITY_POLICY, and DROP_SECURITY_POLICY.  What are they?  *googles*  Hmmm

CREATE SECURITY POLICY (Azure SQL Database)

 Creates a security policy for Row-Level Security.

Okay, then! Looks like the only new DDL types are around the encryption.  Good to know.  



Any trace changes?  (you never know)

sys.trigger_event_types.

Huh!  260 vs 275.  

309 CREATE_AUDIT 10072
310 DROP_AUDIT 10072
311 ALTER_AUDIT 10072
312 CREATE_SECURITY_POLICY 10073
313 ALTER_SECURITY_POLICY 10073
314 DROP_SECURITY_POLICY 10073
315 CREATE_COLUMN_MASTER_KEY_DEFINITION 10074
316 DROP_COLUMN_MASTER_KEY_DEFINITION 10074
317 CREATE_COLUMN_ENCRYPTION_KEY 10075
318 ALTER_COLUMN_ENCRYPTION_KEY 10075
319 DROP_COLUMN_ENCRYPTION_KEY 10075

10072 DDL_DATABASE_AUDIT_EVENTS 10029
10073 DDL_SECURITY_POLICY_EVENTS 10016
10074 DDL_COLUMN_MASTER_KEY_EVENTS 10016
10075 DDL_COLUMN_ENCRYPTION_KEY_EVENTS 10016


I did choose the right tables, yeah?  (Yeah).  
Okay, what's the TLDR?  New features again supported, EN actually still works.  How about that nasty Hekaton bug?  If you remember, Hekaton in 2014, did not allow EN to be running when a memory-optimized table was created.  And now?


[long blobs of code deleted] 

Msg 10794, Level 16, State 124, Line 19
The feature 'EVENT NOTIFICATION' is not supported with memory optimized tables.



Ugh.  That's either the same message, or a less useful one.  Either way, they still haven't fixed it.

Please please vote on it!

https://connect.microsoft.com/SQLServer/feedback/details/874185/event-notification-please-make-in-memory-oltp-tables-natively-compiled-sps-work-with-en


No comments: