×

امکانات جدید SqlServer 2016

امکانات جدید SQL Server 2016

به گفته مایکروسافت بزرگترین جهش در تاریخ پایگاه های داده این شرکت SQL Server 2016 می باشد در مقاله ذیل تنها به متخصری از انبوه امکانات جدید این محصول با ارزش می پردازیم .

Always Encrypted

استفاده از این امکان جدید شما را قادر می سازد تا اطلاعات را بطور دائم در داخل اس کیوال سرور رمزنگاری (Encrypt) کنید . دسترسی به اطلاعات تنها از طریق اپلیکیشن هایی مقدور خواهد بود که به اس کیوال سرور متصل خواهند شد. بنابراین اگر دیتابیس شما در روی یک هاست اشتراکی قراردارد . هیچکس جز وب سایت و یا نرم افزار شما قادر به دیدن اطلاعات شما نخواهد بود . فرض کنید شخصی بگونه ایی دیتابیس شما و یا یک backup از آن را داشته باشد. چون اطلاعات موجود در دیتابیس encrypt شده اند بنابراین هیچ کدام از اطلاعات با ارزش شما فاش نخواهند شد. تنها نرم افزار شما که دارای کلید لازم جهت رمزگشایی اطلاعات است قادر به رمزگشایی و نمایش اطلاعات رمزگشایی شده می باشد. برای کسانیکه سالها با پایگاه اطلاعاتی و نرم افزار های تحت وب و ویندوز کار کردند این امکان همواره یک رویا بوده است . البته شایان ذکر است امکان رمزنگاری اطلاعات یک فیلد از نسخه 2008 اس کیوال سرور موجود بوده است ولیکن با این امکان جدید ، اطلاعات در لایه دیتا (data tier) همواره (Always) بصورت encrypted می باشد حتی در حافظه . بنابراین امکان دسترسی مدیران هاست ، یا فراهم کنندگان هاستینگ دیتابیس از روی سرور به اطلاعات فراهم نخواهد بود. بنابراین می توان شب را بدون دغدغه آسوده بخوابید ! و ترس افشای اطلاعات در سرویس های هاستینگ و سرویس های کلاود را نداشت.
sqlserver 2016

Dynamic Data Masking

اگر برای شما مهم است که یکسری از اطلاعات مهم و حیاتی تان را فقط یکسری از افراد ببینید و بقیه یک رشته مبهم در هم ریخته و نامفهوم را مشاهده کنند . این امکان بسیار برای شما مفید و حیاتی خواهد بود . با استفاده از این امکان می توان کاری کرد که اطلاعات یک ستون جدول تنها برای کاربرن خاصی قابل خوانده بوده ولی بقیه اطلاعات مبهمی در ان مشاهده کنند. فرض کنید اطلاعات کارت بانکی کاربران در جدولی موجود می باشد شما می خواهید کاربر پشتیبان سیستم شما فقط 4 رقم آخر شماره کارت را مشاهده کند . بنابراین می توانید یک ماسک (Mask) ایجاد کنید که کاربر غیر مجاز تنها مثلا 4 رقم کارت را ببینید و این در حالیست که یک کاربر مجاز کل شماره کارت را می تواند مشاهده کند.
sqlserver 2016

JSON Support

یک معجزه جدید !
همانطور که می دانید JSON عبارتست از Java Script Object Notation .
ماهیت JSON رشته است در ورژن های قبلی امکان ذخیره آن در یک فیلد رشته ایی از ابتدا وجود داشته است انچه جدید و فوق العاده است امکان Parse یک JSON توسط دیتابیس می باشد.با استفاده از این امکان جدید شما می توانید JSON را بین اپلیکیشن و دیتابیس ردو بدل کنید . و توابعی خواهید داشت تا دیگر پایگاه داده JSON را بشکل یک رشته نبیند . شما یک JSON دارید و اس کیوال سرور قابلیت درک فیلد های آنرا دارد و می تواند فیلد ها را در جداول ذخیره کند .این امکان برعکس هم وجود دارد فرض کنید یک select بنویسید که اس کیوال سرور خرجی آنرا بصورت JOSN برگرداند.(فوق العاده).
sqlserver 2016

Multiple TempDB Database Files

برخورداری از چند tempdb . همانطور که می دانید موتور پایگاه داده استفاده زیادی از دیتابیس موقتی و یا همان tempdb برای انجام اعمال داخلی و نیز ذخیره ایتم های موقت میکند. حتی در برخی موارد توصیه میشود برای بهبود عملکرد موتور پایگاه داده . tempdb را در یک هارد دیسک جدا از هارد حاوی فایل های دیتایس های عملیاتی قرار دهیم. در نسخه های قبلی امکان اضافه کردن tempdb بعد از نصب اسکیوال بصورت دستی و توسط کاربر وجود داشته است ولیکن با این امکان جدید شما در هنگام نصب می توانید تعداد tempdb های ایجاد شده را مشخص کنید
sqlserver 2016

PolyBase

Polybase به شما اجازه میدهد تا کوئری های برای دسترسی اطلاعات توزیع شده (distributed data sets) بنویسید. با استفاده ازاین امکان جدید شما می توانید از دستورات Tsql برای دستیابی به اطلاعات دیتابیس هایی نظیر Hadoop و یا SQL Azure blob storage بنویسید. با این امکان می توانید مثلا اطلاعات موجود در یک دیتابیس اس کیوال سرور را با اطلاعات موجود در دیتابیس هایی نظیر Hadoop و یا SQL Azure blob storage براحتی join بزنید . پس شما می توانید اطلاعاتی را از Hadoop واکشی کنید بدون اینکه ساختار دستورات آن را بدانید (با همان TSQL خودمون)
sqlserver 2016

Query Store

اگر بررسی execution plan ها برای شما مهم است . این امکان خیلی برای شما مفید خواهد بود. در نسخه های قبلی شما می توانید از طریق dynamic management views (DMVs) ، execution plan ها راببینید و بررسی کنید اما DVMs ها فقط امکان مشاهده پلن هایی را به شما می دهند که درحال حاضر در کش cache فعال هستند و نه سوابق execution plan ها را . با این امکان جدید سوابق و تاریخچه execution plan ها را می توانید مشاهده کنید بنابراین می توانید متوجه شوید که آیا کوئری های شما بهینه تر از قبل شده اند و یا خیر . (performance پلن ها در زمان های مختلف قابل نمایش است)
sqlserver 2016

Row Level Security

شاهکاری جدید امنیت در سطح رکورد ها .
با استفاده از این امکان جدید شما می توانید دسترسی به رکورد ها را با توجه به لاگین اس کیوال سرور محدود کنید .برای اینکار Inline table value function ی تعریف میشود که در ان فیلتر ها مشخص میشوند.
Security policies ها تضمین میکنند که این فیلتر برای تمامی Select ها و Delete ها اجرا شوند . با این امکان جدید برنامه نویسان دیگر احتیاجی به طراحی روال هایی جهت محدود کردن رکورد ها برای کاربران با لاگین های متفاوت ندارند . بنابراین کاربری که فیلتری برای وی مشخص شده است در نتایج کوئری خود فقط رکورد های مجاز را میبیند بدون اینکه بفهمد رکورد های دیگری بغیر از آنجا وی مشاهده میکند حتی وجود دارند .
sqlserver 2016

R Comes to SQL Server

زبان R زبانی open source برای محسبات اماری (statistical computing) می باشد.
پس از اینکه مایکروسافت Revolution Analytics را خرید . برنامه نویسان آن هم اکنون می توانند از زبان R درون اس کیوال سرور استفاده نمایند . و دیگر احتیاجی به Export اطلاعات از اس کیوال سرور برای انجام محاسبات آماری توسط R نیست .
sqlserver 2016

Stretch Database

با استفاده از این امکان شما می توانید دیتابیس خود را به Azure SQL Database بسط دهید . به این صورت که اطلاعاتی که زیاد استفاده میشوند در دیتابیس محلی بمانند در حالیکه دیتای کمتر استفاده شده در یک Azure SQL Database ذخیره و ارشیو شود . وقتی این امکان فعال شود اطلاعات قدیمی در پشت صحنه به Azure SQL Database منقل میشوند حال اگر بخواهیم کوئری را اجرا کنیم که اطلاعات جدید و قدیمی را فراخوانی کند موتور پایگاه داده از هر دو منبع لوکال و azure اطلاعات را واکشی میکند درست مثل اینکه یک دیتابیس داشته باشیم . این امکان مهم به مدیران دیتابیس ها این امکان را می دهد که اطلاعات قدیمی و ارشیو شده را در سرویس های ارزانتر کلاود ذخیره کنند بدون اینکه نیاز به تغییری در لایه اپلیکیشن ما باشد.
sqlserver 2016

Temporal Table

یک جدول temporal ، جدولیست که ورژن های قدیمی رکورد های یک جدول را در خود نگه میدارد.
فرض کنید که می خواهید سوابق تغییرات رکورد های یک جدول را جایی نگهدارید ، بااستفاده از temporal table ها می توانید بطور اتوماتیک اینکار را انجام دهید !! . هنگامی که یک رکورد از جدول شما دستخوش یک آپدیت میشود نسخه قبلی به این جدول temporal بطور اتوماتیک منتقل میشود. یک جدول temporal طور فیزیکی جدولی جدا از جدول اصلی ما می باشد که به جدول اصلی ما که آخرین اطلاعات ما در آن ذخیره میشود لینک شده است.بنابراین براحتی می توان نسخه های متفاوت و سوابق تغییرات رکورد های یک جدول را در یک جدول temporal نگه داشت. (قبلا بایستی بطور دستی اینکار رو انجام می دادیم)
sqlserver 2016


مفاهیم و موضوعات این مقاله عبارتند از :

  • امکانات جدید SQL Server 2016

vatantop
نظرات و سوالات درج سوال/ نظر