SQL Server 2016 ویژگی های جدیدی برای مدیران پایگاه داده فراهم کرده است ولی این نسخه از SQL Server 2016 از Azure پشتیبانی نمی کند. در ادامه با ویژگی های کلیدی ای که در این نسخه معرفی شده اند و یا بهبود یافته اند آشنا می شویم.
رمزنگاری دائمی اطلاعات
این ویژگی از SQL server به ما اجازه می دهد تا پایگاه داده SQL Server را رمزنگاری کنیم. این جمله به این معنی است که اطلاعات همیشه در حالت رمزنگاری شده در SQL server قرار می گیرند. دسترسی به این داده های رمزنگاری شده توسط فراخوانی های موجود در برنامه امکان پذیر است. در این نسخه، SQL server هم از رمزنگاری ستونی و هم از رمزنگاری کلی یک جدول پشتیبانی می کند. این ویژگی به برنامه ی کاربر اجازه می دهد تا به داده هایی که کلید رمزنگاری آن ها را در اختیار دارد، دسترسی داشته باشد. این کلید رمزنگاری به SQL Server انتقال داده نمی شود. این ویژگی بر روی cloud نیز قرار گرفته است.
پشتیبانی از JSON
در حال حاضر Java Script Object Notation نیز توسط پایگاه داده SQL Server پشتیبانی می شود. در این نسخه ما می توانیم داده هایی که در قالب JSON هستند را بین برنامه و پایگاه داده جا به جا کنیم. SQL Server می تواند داده های JSON را به فرمت مورد نظر خودش تبدیل کند. برخی از ویژگی های جدید نیز در این نسخه به برنامه اضافه شده اند که امکان اعمال Query بر روی داده های JSON را برای ما فراهم کرده اند. این ویژگی ها تا حد زیادی مشابه پشتیبانی از XML هستند که با توابع "FOR JSON" و "OPENJSON" قابل پیاده سازی هستند.
بررسی امنیت در سطح سطر های جدول
"بررسی امنیت در سطح سطر " به پایگاه داده اجازه می دهد تا دسترسی به داده های موجود در سطر های جدول را که به احراز هویت کاربر مبتنی است، محدود تر کند. این کار با استفاده از فیلتر ها انجام می گیرد. همچنین یک سری اقدامات امنیتی نیز کنترل می کنند که این فیلتر ها به ازای همه سطر ها و همه ی عملیات های SELECT و یا DELETE انجام شود. با استفاده از این ویژگی SQL Server 2016 ، کاربر نیاز نخواهد داشت تا از داده های مهم خودش با کدنویسی محافظت کند. پایگاه داده به صورت مستقل این کار را انجام می دهد.
PolyBase
داده های بزرگ و Hadoop برای مدیریت داده های عظیم ساخته و معرفی شدند. با معرفی PolyBase توسط Microsoft این امکان به کاربران داده شد تا بتوانند بر روی مجموعه های گسترده ای از اطلاعات ، query بزنند و اطلاعات مورد نیاز را استخراج کنند. PolyBase همچنین ما را قادر می سازد تا برای متصل کردن داده هایی با ساختار یکسان (مانند اتصال Azure blob storage و Hadoop به داده های رابطه ای SQL Server) از adhoc query ها استفاده کنیم. این ویژگی به ما اجازه می دهد تا داده هایی از مکان های ذخیره سازی مشابه را بازیابی کنیم.
Temporal Table (جدول موقتی )
Temporal Table ها جدول هایی هستند که نسخه قدیمی سطرها را در داخل جدول اصلی نگهداری می کنند. اگر پایگاه داده یک Temporal Table داشته باشد، SQL به صورت خودکار نسخه قدیمی سطر را به Temporal Table منتقل می کند. Temporal Table از لحاظ فیزیکی با جدول اصلی تفاوت دارد ولی به صورت داخلی به جدول اصلی متصل است.
پوشش دهی داده ها به صورت پویا
اگر بخواهیم داده های محرمانه خود را از دید سایر افراد پنهان کنیم، این ویژگی SQL Server 2016 به ما کمک زیادی می کند. با استفاده از این ویژگی، ما می توانیم ستون های محرمانه ی جدول را از دید کاربرانی که احراز هویت نشده اند، پنهان نگهداریم. به عنوان مثال، اگر در پایگاه داده شماره تماس و آدرس ایمیل ذخیره کرده باشیم و بخواهیم تمام این اطلاعات و یا بخشی از آن ها را از دید کاربر پنهان کنیم، می توانیم از همین ویژگی SQL Server 2016 استفاده کنیم. می توانیم تنظیمات این بخش را به گونه ای تنظیم کنیم که کاربران احراز هویت شده بتوانند تمامی اطلاعات و کاربرانی که احراز هویت نشده اند ، فقط بخشی از اطلاعات را ببینند.
پشتیبانی از چندین پایگاه داده ی TempDB در زمان نصب
بر اساس تجربیات و تحقیقات، داشتن چندین پایگاه داده ی TempDB بهترین روش است. تا پیش از نسخه ی SQL Server 2014 ، نیاز داشتیم فایل های داده های tempDB را به صورت دستی در زمان نصب ایجاد کنیم. در SQL Server 2016 ما می توانیم تعداد فایل های tempDB را در زمان نصب ، تعیین کنیم .
Query Store
پایگاه داده SQL Server 2016 یک گزارشی از نقشه های اجرای query ها همراه با نحوه ی عملکرد آن ها را در حافظه ی خودش نگهداری می کند. قبل از این نسخه ، می توانستیم نقشه ها را با استفاده از DMV ها (dynamic management views) تست کنیم ولی این ویژگی به ما اجازه می دهد تا نقشه هایی که در حافظه ی cache وجود دارند را نیز بررسی کنیم. با استفاده از این ویژگی ما می توانیم سابقه و پیشینه اجرا های قبلی برنامه را تست کنیم و آمار محاسباتی آن ها را نیز در اختیار داشته باشیم.
R-integration
SQL Server 2016 توسط سرورهای محاسباتی و آمارگیری پشرفته پشتیبانی می شود. با استفاده از این ویژگی ما می توانیم R code ها را در داخل پایگاه داده SQL Server اجرا کنیم.
پایگاه داده گسترده
این ویژگی از SQL Server 2016 به ما اجازه می دهد تا داده ها را به صورت داینامیک و با یک روش مطمئن از پایگاه داده محلی خود به Azure SQL database که بر روی cloud میزبانی می شود،منتقل کرده و دسته بندی کنیم.
توسعه In-Memory و افزایش ظرفیت آن
SQL Server 2014 مفهومی به نام جدول های "in-memory" را معرفی کرد. این جدول ها برای بارگذاری داده ها با سرعت بالا طراحی شده اند و مشکلاتی نظیر بسته بودن و یا session state های حجیم را ندارند. این ویژگی محدودیت های زیادی نیز دارد. در SQL Server 2016 این ویژگی ارتقا یافته است و از کلید های خارجی ، check, unique constraints و موازی سازی نیز پشتیبانی می کند. SQL Server 2014 دارای 256 GB جدول in-memory است و می تواند این میزان را تا 2 TB نیز افزایش بدهد.