SQL Server - آزمایشگاه پایگاه داده ها

Report
‫‪SQL Server‬‬
‫احمد شهباز‬
‫سلمان پیروی‬
‫سجاد نیک نهاد‬
‫فهرست مباحث‬
‫‪–1‬آشنایی مختصر با نحوه ی شکل گیری و توسعه‬
‫‪–2‬اهداف و کاربردهای ‪SQL Server‬‬
‫‪–3‬روش نصب ‪ ،‬محیط و مدل های مورد استفاده‬
‫‪–4‬لیست کلیه امکانات قابل ارائه ‪SQL Server‬‬
‫‪–5‬مزایا و معایب ‪ SQL Server‬و مقایسه‬
‫ بانک اطالعاتي‬، ‫مجموعه اطالعات ذخيره شده و سازماندهي شده به منظور تحقق اهدافي خاص‬
.‫ناميده مي شود‬
‫مجموعه اي نرم افزاري – سخت افزاري است که ايجاد و مديريت بانک اطالعاتي به‬
. ‫عهده آن نهاده شده‬
HDBMS : Hierarchical DataBase Management System (DBMS, DB)
NDBMS : Network DataBase Management System (DB)
RDBMS : Relational DataBase Management System (DBMS, DB)
ORDBMS : Object Relational Database Management System (DBMS, DB)
OODBMS : Object Orientated Database Management System (DBMS, DB)
The Data Definition Language (DDL)
CREATE TABLE , ALTER TABLE , DROP TABLE , CREATE INDEX , DROP INDEX
The Data Manipulation Language (DML)
SELECT , UPDATE , DELETE , INSERT INTO
The Data Control Language (DCL)
GRANT , REVOKE
The Transaction Control (TCL)
COMMIT , ROLLBACK
3
‫مفاهیم پایه‬
Data Base ‫بانک اطالعاتي‬
DBMS ‫سيستم مديريت بانک اطالعاتي‬
‫انواع مدل داده اي‬
DDL, DML, DCL, TCL
‫مهمترين سيستمهاي مديريت بانک اطالعاتي‬
‫‪SQL Server‬‬
‫•‬
‫محصول شرکت ‪Microsoft‬‬
‫‪Oracle‬‬
‫•‬
‫محصول شرکت ‪Oracle‬‬
‫‪Corporation‬‬
‫‪DB2‬‬
‫‪MySQL‬‬
‫•‬
‫•‬
‫محصول شرکت ‪IBM‬‬
‫محصول شرکت ‪SUN‬‬
‫‪Microsystems‬‬
‫‪4‬‬
‫مقدمه آشنایی با ‪SQLSERVER‬‬
‫•‬
‫كالً دو جور دیتابیس داریم‪ .‬دیتابیسهاي ‪Desktop‬و دیتابیسهاي ‪Client/Server.‬‬
‫دیتابیسهاي معروف ‪Desktop‬عبارتند از‪:‬‬
‫‪Access – dBase‬‬
‫دیتابیسهاي ‪Client/Server‬معروف هم عبارتند از‪:‬‬
‫‪DB2 – Oracle - MS SQLServer – MySQL‬‬
‫•‬
‫مهمترین ویژگي دیتابیسهاي ‪Client/Server‬این هستش كه كاربر بطور مستقیم به دیتابیس دسترسي نداره‪ .‬یعني‬
‫باید از طریق یك سرویس واسط دستور خودش رو براي اجرا به سیستم بده‪ .‬در حالي كه در دیتابیسهاي ‪Desktop‬‬
‫اینگونه نیست و همین خصوصیت باعث میشه كه دیتابیسهاي ‪Client/Server‬نسبت به دیتابیسهاي‬
‫‪Desktop‬امنیت باالتري داشته باشند‪.‬‬
‫‪5‬‬
‫تاریخچه ‪SQL Server‬‬
‫•‬
‫‪ SQL Server‬در آغاز محصول شرکت ‪ Sybase‬بود و تا قبل از نسخه ‪Sybase SQL Server ، 7‬‬
‫ناميده مي شد و بازاريابي و فروش آن به عهده شرکت ‪ Microsoft‬بود‪ .‬هدف مایکروسافت‬
‫ازخریداری این نرم افزار‪ ،‬ارتقا دادن آن به سطح عظیم و در نهایت رقابت با دیتابیس های ارایه شده توسط شرکت‬
‫های ‪Oracle‬و ‪IBM‬بود‪ .‬با این هدف تیمی متشکل از شرکت مایکروسافت‪Sybase ،‬و ‪Ashton-Tate‬‬
‫تشکیل شد و اولین نسخه از این نرم افزار به نام ‪SQL Server 1.0‬برای سیستم عامل ‪OS/2‬در سال ‪1989‬‬
‫منتشر گردید‪ .‬این نسخه در واقع معادل نسخه قبلی آن یعنی ‪Sybase SQL Server 3.0‬بود که برای سیستم‬
‫عامل ‪Unix‬به انتشار درآمده بود‪ .‬بعد ها نسخه ‪Microsoft SQL Server 4.21‬برای سیستم عامل های‬
‫‪NT‬و ‪Windows NT 3.1‬منتشر شد که این امر موجب محبوبیت بیشتر آن نزد کاربران ویندوز گردید‪.‬‬
‫‪Microsoft SQL Server 6.0‬اولین نسخه این نرم افزار برای سیستم عامل های ویندوز ‪NT‬بود که در‬
‫تکنولوژی های ‪Sybase‬استفاده نشد‪.‬‬
‫ساخت آن از هیچ یک از‬
‫ِ‬
‫‪6‬‬
SQL Server ‫نسخه هاي مختلف‬
SQL Server Release History
1.0
(OS/2)
1.1
(OS/2)
Year
1989
Release Name
SQL Server 1.0
(16 bit)
Codename
-
1991
-
4.21
(WinNT)
SQL Server 1.1
(16 bit)
1993
SQL Server 4.21
SQLNT
6.0
6.5
1995
SQL95
7.0
1996
SQL Server 6.0
1998
SQL Server 7.0
Sphinx
-
1999
8.0
2000
8.0
2003
9.0
2005
10.25
2010
10.0
7
Version
2008
SQL Server 6.5
SQL Server 7.0
OLAP Tools
SQL Server 2000
SQL Server 2000
64-bit Edition
Hydra
Palato mania
Shiloh
Liberty
SQL Server 2005
Yukon
SQL Azure DB
CloudDatabase
SQL Server 2008
Katmai
10.5
2010
SQL Server 2008 R2
Kilimanjaro (aka KJ)
11.0
2012
SQL Server 2012
Denali
12.0
2014
SQL Server 2014
Hekaton
‫فهرست مباحث‬
‫‪–1‬آشنایی مختصر با نحوه ی شکل گیری و توسعه‬
‫‪–2‬اهداف و کاربردهای ‪SQL Server‬‬
‫‪–3‬روش نصب ‪ ،‬محیط و مدل های مورد استفاده‬
‫‪–4‬لیست کلیه امکانات قابل ارائه ‪SQL Server‬‬
‫‪–5‬مزایا و معایب ‪ SQL Server‬و مقایسه‬
‫اهداف ‪SQL Server‬‬
‫یکی از اهداف مهم سیستم های مدیریت بانک های اطالعاتی ‪ ،‬قابلیت رشد و توسعه )‪(Scale ability‬است‪.‬‬
‫‪ SQL Server‬مجموعه ای از پتانسیل ها را به منظور تامین هدف فوق ارائه نموده است که به برخی از مهمترین آنها اشاره می گردد‬
‫•قابلیت کار با بانکهای اطالعاتی حجیم (در حد پنتا بایت)‬
‫•قابلیت دسترسی میلیون ها کاربر بطور همزمان به بانک اطالعاتی‬
‫•قابلیت خود سازگاری )‪(Self Compatibility‬با استفاده از ویژگی فوق ‪ ،‬منابع مورد نیاز هر کاربر (نظیر حافظه ‪ ،‬فضای دیسک و …) به‬
‫محض اتصال به سرور )‪(Log in‬به صورت اتوماتیک به وی تخصیص داده می شود و پس از ‪ ،Log off‬منابع اختصاص یافته به منظور استفاده‬
‫سایر کاربران آزاد می شوند‪.‬‬
‫•قابلیت اعتماد و در دسترس بودن )‪(Reliability‬با استفاده از ویژگی فوق می توان بسیاری از فعالیت های مدیریتی را بدون توقف سرور انجام داد‬
‫)نظیر ‪(Backup‬‬
‫•برخورداری از سطوح امنیتی باال ‪ .‬بدین منظور اعتبار سنجی کاربران توسط ‪SQL‬با اعتبار سنجی ویندوز تجمیع می گردد ‪ .‬در چنین مواردی ‪،‬‬
‫ضرورتی به تعریف کاربر در ‪MS SQL‬نخواهد بود و اعتبار سنجی وی توسط ویندوز انجام خواهد شد ‪.‬‬
‫•پشتیبانی از حجم باالئی از حافظه در سرور (در نسخه ‪ ۲۰۰۰‬تا ‪ ۶۴‬گیگابایت و از نسخه ‪ ۲۰۰۵‬به باال متناسب با حافظه ای که سیستم عامل از آن‬
‫حمایت می نماید )‪.‬‬
‫•استفاده از چندین پردازنده به صورت موازی (در نسخه ‪ ۲۰۰۰‬تا ‪ ۳۲‬پردازنده همزمان و از نسخه ‪ ۲۰۰۵‬به باال محدودیتی وجود ندارد )‬
‫•پشتیبانی از الیه ها و سوکت های امنیتی نظیر ‪ ،SSL‬خصوصا” جهت استفاده در وب‪.‬‬
‫‪9‬‬
‫اهداف ‪SQL Server‬‬
‫از دیگر ویژگی های مهم سیستم های مدیریت بانک های اطالعاتی‪:‬‬
‫ایجاد تسهیالت الزم به منظور مدیریت بانک های اطالعاتی است‪SQL Server .‬با ارائه برنامه های جانبی نظیر ‪Enterprise‬‬
‫‪Manager‬استفاده و مدیریت بانک های اطالعاتی را آسان نموده است‪.‬‬
‫‪SQL Server‬بطور اتوماتیک در ‪Active Directory‬ثبت می شود)‪ ،(Register‬بنابراین کاربران شبکه به راحتی می توانند آن را در‬
‫‪Active Directory‬جستجو و در صورت نیاز به آن متصل شوند‪.‬‬
‫همچنین‪MS SQL Server ،‬توسط ‪IIS‬پشتیبانی می گردد و مرورگرها با استفاده از پروتکل ‪HTTP‬قابلیت استفاده از آن را خواهند داشت‪.‬‬
‫از جمله نکات مهم در خصوص ‪ ،MS SQL Server‬اجرای آن به صورت یک سرویس است‪ .‬بنابراین‪ ،‬در صورتی که کاربری به ماشینی که ‪MS‬‬
‫‪SQL Server‬بر روی آن اجراء شده است‪Log on ،‬نکرده باشد ‪ ،‬همچنان سیستم در دسترس کاربران خواهد بود‪ .‬عالوه بر این‪ ،‬می توان از سیستم‬
‫مانیتورینگ ویندوز به منظور مانیتورینگ ‪SQL Server‬استفاده نمود‪.‬‬
‫یکی از مهمترین و شاخص ترین ویژگی های ‪MS SQL Server‬که از نسخه ‪ ۲۰۰۰‬در آن ایجاد شده است ‪ ،‬امکان نصب چندین نسخه ‪SQL‬بر روی‬
‫یک ماشین می باشد )‪ ،(Multi Instance‬بطوریکه هر یک از نسخه ها فایل های باینری مخصوص به خود را داشته و بطور جداگانه مدیریت و‬
‫راهبری می گردند ‪ ،‬ولی تمام نسخه ها بطور همزمان اجرا می شوند (دقیقا” مشابه این است که چندین نسخه بر روی چندین کامپیوتر نصب شده باشد )‪.‬‬
‫با توجه به این که نسخه )‪(Instance‬قراردادی فاقد نام است و سایر نسخه ها می بایست دارای نام باشند به آنها نسخه های دارای نام ‪(Named‬‬
‫)‪Instance‬می گویند ‪ .‬نسخه های دارای نام را می توان هر زمان نصب نمود (قبل و یا بعد از نسخه قراردادی)‪ .‬ابزارهای همراه ‪SQL‬نظیر ‪SQL‬‬
‫‪Enterprise Manager‬یک مرتبه نصب خواهند شد و در تمامی نسخه های ‪SQL‬به صورت مشترک استفاده خواهند شد‪.‬‬
‫‪10‬‬
‫کاربرد ‪SQL Server‬‬
‫شرکتهای مختلف داده هایشان ‪ ،‬معموال در‪ SQL‬است‪.‬‬
‫امنیت داده ها‬
‫در دسترس بودن داده ها‬
‫به اشتراک گذاری داده ها‬
‫پردازش داده ها‬
‫گزارش گیری داده ها‬
‫بکاپ گیری داده ها‬
‫تحلیل و آنالیز داده ها‬
‫مدیریت داده های ‪XML‬‬
‫توسعه ‪ T SQL‬مثال ‪ insert‬کردن با استفاده از دستور ‪select‬‬
‫با استفاده از فناوری ‪SQL Server Always On‬بیشتر کارها خودکار شوند‬
‫‪Data mining‬‬
‫‪ :Mirroring‬با استفاده از آن اطالعات دیتابیس را در سرور دیگری ذخیره تا در صورت بروز خرابی‪ ،‬اطالعات سرور دیگر مورد استفاده قرار گیرد‪.‬‬
‫مفهوم ( ‪CLR (Common Language Runtime‬که موجب یکپارچگی با ‪Net Framework.‬‬
‫است که همه این نیازها توسط بانکهای اطالعاتی انجام میگیرد‪.‬‬
‫حتی بعضی مواقع شرکتها برای استقرار نرم افزارها نیازمند کارشناس پشتیبانی ‪ SQL‬اند تا نرم افزارهای آن شرکت را در سیستم مشتری نصب کند‪.‬‬
‫‪11‬‬
‫فهرست مباحث‬
‫‪–1‬آشنایی مختصر با نحوه ی شکل گیری و توسعه‬
‫‪–2‬اهداف و کاربردهای ‪SQL Server‬‬
‫‪–3‬روش نصب ‪ ،‬محیط و مدل های مورد استفاده‬
‫‪–4‬لیست کلیه امکانات قابل ارائه ‪SQL Server‬‬
‫‪–5‬مزایا و معایب ‪ SQL Server‬و مقایسه‬
‫برای اجرای برنامه ها در ویندوز احتیاج به فایلهای‬
‫‪runtime‬دارید‪.‬‬
‫در ‪microsoft .net‬تمام فایلهای ‪runtime‬و‬
‫‪managed dll‬های مورد نیاز‪ ،‬برای ‪run‬‬
‫کردن تمام برنامه های ‪compaile‬شده توسط‬
‫‪compailer‬کدهای ‪net .‬در ‪microsoft‬‬
‫‪.net framework‬موجود است‪.‬‬
‫‪Framework‬مجموعه ای از فایل های مورد نیاز‬
‫سیستم عامل (شامل فایل های ‪DLL‬و رجیستری و‬
‫واسطه های استاندارد ارتباط برنامه ها بایکدیگر) است‬
‫که برای اجرای برنامه های نوشته شده تحت دات نت‬
‫ضروری میباشد‪ .‬یعنی یک پکیج کامل از تمام ‪dll‬‬
‫های مورد نیاز برنامه هایی که با خود داتنت نوشته‬
‫شده اند‪.‬‬
‫چون دات نت میخواهد از فلسفه سادگی‬
‫«‪»keep it simple‬‬
‫پشتیبانی کند بهمین دلیل‪ ،‬اساس کار نصب برنامه ها‬
‫‪copy-only installation‬میباشد ‪ .‬یعنی‬
‫دیگر نیازی به پکیج کردن برنامه ها توسط برنامه‬
‫نویس و نصب توسط کاربر نیست ‪ .‬بلکه تمامی فایل‬
‫های کتابخانه ای )‪(dll‬مورد نیاز را فریم ورک تامین‬
‫میکند و برنامه ها با روش فقط کپی در ویندوز کار‬
‫میکنند‪.‬‬
‫‪.Net Framework‬‬
‫‪Supercedes.‬‬
‫‪..‬‬
‫‪Distributed with‬‬
‫‪Development tool‬‬
‫‪Release date‬‬
‫‪Generatio‬‬
‫‪Version number‬‬
‫‪n‬‬
‫‪N/A‬‬
‫‪N/A‬‬
‫‪Visual Studio .NET‬‬
‫‪2002-02‬‬‫‪13‬‬
‫‪1.0.3705.0‬‬
‫‪1.0‬‬
‫‪v1.0‬‬
‫‪Windows Server 2003‬‬
‫‪Visual Studio .NET‬‬
‫‪2003‬‬
‫‪2003-04‬‬‫‪24‬‬
‫‪1.1.4322.573‬‬
‫‪1.1‬‬
‫‪N/A‬‬
‫‪Windows Server 2003‬‬
‫‪R2‬‬
‫‪Visual Studio 2005‬‬
‫‪2005-11‬‬‫‪07‬‬
‫‪2.0.50727.42‬‬
‫‪2.0‬‬
‫‪v2.0‬‬
‫‪Windows Vista,‬‬
‫‪Windows Server 2008‬‬
‫‪Expression Blend‬‬
‫‪2006-11‬‬‫‪06‬‬
‫‪3.0.4506.30‬‬
‫‪v2.0, v3.0‬‬
‫‪Windows 7,‬‬
‫‪Windows Server 2008‬‬
‫‪R2‬‬
‫‪Visual Studio 2008‬‬
‫‪2007-11‬‬‫‪19‬‬
‫‪3.5.21022.8‬‬
‫‪3.5‬‬
‫‪N/A‬‬
‫‪N/A‬‬
‫‪Visual Studio 2010‬‬
‫‪2010-04‬‬‫‪12‬‬
‫‪4.0.30319.1‬‬
‫‪4.0‬‬
‫‪v4.0‬‬
‫‪Windows 8,‬‬
‫‪Windows Server 2012‬‬
‫‪Visual Studio 2012‬‬
‫‪2012-08‬‬‫‪15‬‬
‫‪4.5.50709.179‬‬
‫‪29‬‬
‫‪4.5‬‬
‫‪v4.0, v4.5‬‬
‫‪Windows 8.1,‬‬
‫‪Windows Server 2012‬‬
‫‪R2‬‬
‫‪Visual Studio 2013‬‬
‫‪2013-10‬‬‫‪17‬‬
‫‪4.5.50938.184‬‬
‫‪08‬‬
‫‪4.5.1‬‬
‫‪3.0‬‬
‫‪13‬‬
Hardware and Software Requirements to all MSSQL Server 2012 installations
Software
Requirement
Framework •.NET Framework 4
•.NET Framework 3.5 SP1
•SQL Native Client
•SQL Setup support files
Memory
Minimum:
Express Editions: 512 MB
All other editions: 1 GB
Recommended:
Express Editions: 1 GB
All other editions: At least 4 GB and should be increased as database size increases to ensure optimal
performance.
Processor
Speed
Minimum:
x86 Processor: 1.0 GHz
x64 Processor: 1.4 GHz
Recommended: 2.0 GHz or faster
HardDisk
Disk space requirements will vary with the MSSQL Server 2012 components you install.
MediaDrive A CD or DVD for physical installation disc. ISO files can also be extracted using Winrar.
Display
14
SQL Server 2012 requires Super-VGA (800x600) or higher resolution monitor.
‫اصطالحات نصب ‪SQL Server‬‬
‫•‬
‫‪: Reporting Service‬بخش گزارشگیري خودكار روي سیستم شما نصب خواهد شد‪ .‬این سرویس امكاناتي را براي ایجاد گزارش از بانك هاي‬
‫اطالعاتي مختلف در اختیارتان قرار مي دهد‪ .‬گزارشهاي ایجاد شده توسط این سرویس ‪Web-enabled‬هستند و قابلیت پخش روي انواع‬
‫دستگاهها را دارند ‪ .‬شما مي توانید این گزارشات را با فرمتهاي مختلف ‪Excel‬و ‪Word‬و ‪PDF‬و ‪Html‬و ‪ ...‬ایجاد كنید ‪.‬‬
‫•‬
‫‪: Analysis Service‬قابلیت پردازش هاي تجزیه و تحلیلي آنالین )‪(OLAP‬با سرعت باال‪ ،‬تجزیه وتحلیل پیشرفته براي مجموعه دیتابیس هاي‬
‫پیچیده و بزرگ با استفاده از راههای متعدد ذخیره سازي اطالعات‪ .‬بخواهیم روي دیتابیسهاي خیلي بزرگ گزارشگیري كنیم مانع کند شدن می شود‪.‬‬
‫•‬
‫‪: Notification Service‬این سرویس محیطي براي ایجاد برنامه هایي است كه پیامهایي را ایجاد و ارسال میكنند‪ .‬از این سرویس مي توانید‬
‫براي ایجاد و ارسال پیامهاي شخصي و زمانبندي شده به هزاران یا میلیونها شخص یا دستگاههاي گوناگون استفاده نمایید‪.‬‬
‫•‬
‫‪: Integration Service‬این سرویسها یك پلت فرم هستند كه راه حل هایي براي ایجاد یكپارچگي اطالعات با سرعت باال ارائه مي كنند و شامل‬
‫بسته هاي نرم افزاري پردازش ‪extract, transform, and load‬براي ‪data warehousing‬است‪.‬‬
‫•‬
‫‪: SQL Server Agent‬این سرویس مسئول دفتر ‪SQL SERVER‬است‪ .‬مثالً در صورت تعریف توسط ادمین‪ ،‬هر شب ساعت ‪ 10‬از‬
‫اطالعات كپي پشتیبان ميگیرد‪.‬‬
‫•‬
‫‪: Authentication Mode‬چنانچه گزینهي ‪Windows Authentication Mode‬انتخاب گردد‪ ،‬دسترسي كاربران و كلمه عبور آنان‬
‫به‬
‫‪SQL Server‬بر اساس وجود و درستي آنها در ویندوز انجام ميگیرد‪ .‬ولي اگر ‪Mixed Mode‬انتخاب شود باید براي دسترسي به ‪SQL‬‬
‫‪Server‬مجدداً نام كاربري و سطح دسترسي تعریف كرد‪.‬‬
‫•‬
‫‪: Collation‬شمایي در ‪SQL Server‬كه نحوه ‪Sort‬حروف الفباي یك زبان خاص و همچنین نحوه ‪Compare‬كردن حروف الفباي آن‬
‫زبان را در بر ميگیرد‪.‬تنظیمات ‪collation‬به صورت پیش فرض از تنظیمات سیستم عامل گرفته می شود‪ .‬ودر صورتی که سیستم عامل شما در‬
‫بخش ‪Regional settings‬دارای تنظیمات الزم فارسی باشد‪ ،‬نیاز به تغییر در این بخش ندارید‪.‬‬
‫‪15‬‬
‫مراحل نصب ‪SQL Server 2012‬‬
‫براي نصب ‪SQL Server‬در ابتدا باید ‪DVD‬برنامه نصب ‪SQL Server‬را در ‪DVD Drive‬‬
‫خود قرار دهید‪ .‬در ادامه ‪DVD‬نصب را وارد ‪DVD Drive‬ميکنیم‪ .‬روي گزینه ‪Run Setup.exe‬‬
‫کلیک کنید‪.‬‬
‫‪16‬‬
‫مراحل نصب ‪SQL Server 2012‬‬
‫اکنون برنامه نصب اجرا شده و در قسمت ‪Planning‬قرار داریم‪ .‬در این قسمت ميتوانید حداقل سخت افزار‬
‫و نرم افزار مورد نیاز‪ ،‬بررسي مشخصات سیستم و ‪ ...‬را مشاهده کنید‪ .‬براي نصب روي گزینه‬
‫‪Installation‬کلیک کنید‪ .‬با استفاده از گزینه اول یک نسخه جدید از ‪SQL Server‬نصب ميگردد یا‬
‫ميتوانید مشخصات ‪SQL Server‬نصب شده را تغییر دهید‪ .‬روي این گزینه کلیک کنید‪.‬‬
‫‪17‬‬
‫مراحل نصب ‪SQL Server 2012‬‬
‫در این قسمت حداقل نیازهاي سختافزاري و‬
‫نرمافزاري سیستم شما بررسي ميشود‪.‬‬
‫شماره سلاير نرم افزار ‪SQL Server‬‬
‫‪2012‬خریداري شده از شرکت‬
‫‪Microsoft‬را وارد نمائید‪.‬‬
‫‪18‬‬
‫مراحل نصب ‪SQL Server 2012‬‬
‫قوانین استفاده از این نرم افزار را خوانده و با‬
‫کلیک بر روي گزینه ‪I Accept the‬‬
‫‪license terms‬اعالم میکنیم که این قوانین‬
‫را پذیرفتهایم‪.‬‬
‫در این قسمت در صورتي که مشکلي در سیستم‬
‫شما براي نصب وجود داشته باشد خطایي نمایش‬
‫داده ميشود‪.‬‬
‫‪19‬‬
‫مراحل نصب ‪SQL Server 2012‬‬
‫اکنون توضیحي در مورد خطا داده شده است که با‬
‫استفاده از آن ميتوانید این خطا را رفع کنید‪ .‬در‬
‫اینجا خطاي روي داده حاصل از وصل نبودن این‬
‫کامپیوتر به اینترنت است‪ .‬روي دکمه ‪OK‬کلیک‬
‫کنید‪.‬‬
‫توجه کنید که خطاهاي نوع ‪warning‬از‬
‫نصب نرم افزار جلوگیري نکرده و بهتر است که‬
‫رفع شوند ولي خطاهاي نوع ‪Failed‬باعث‬
‫ميشوند که نتوانید نرم افزار را نصب کنید‪ .‬روي‬
‫دکمه ‪Next‬کلیک کنید‪.‬‬
‫‪20‬‬
‫مراحل نصب ‪SQL Server 2012‬‬
‫اکنون بصورت پیش فرض نصب ‪SQL Server‬انتخاب‬
‫شده است‪ .‬با استفاده از گزینه دوم ميتوانید فقط ‪SQL‬‬
‫‪Server PowerPivot‬که در نرم افزار‬
‫‪SharePoint‬کاربرد دارد را نصب کنید‪ .‬با انتخاب‬
‫گزینه سوم نیز هر دو ویژگي فوق نصب خواهند شد‪ .‬براي‬
‫نصب ‪SQL Server‬روي دکمه ‪Next‬کلیک کنید‪.‬‬
‫در این قسمت لیست ویژگیهایي که ميخواهید نصب کنید از‬
‫شما پرسیده ميشود‪ .‬با کلیک بر روي هر گزینه در قسمت‬
‫‪Features‬توضیح آن در قسمت ‪Description‬‬
‫نمایش داده ميشود‪ .‬براي انتخاب تمامي این ویژگیها روي‬
‫دکمه ‪Select All‬کلیک کنید‪.‬‬
‫روي دکمه ‪Next‬کلیک کنید‪.‬‬
‫‪21‬‬
‫مراحل نصب ‪SQL Server 2012‬‬
‫در این قسمت چک میشود که با توجه انتخاب هاي انجام شده‬
‫سخت افزار و نرم افزارهاي الزم مانند‬
‫‪Net framework .‬نصب شده اند یا خیر‪ .‬براي ادامه‬
‫روي دکمه ‪Next‬کلیک کنید‪.‬‬
‫در این قسمت باید نام نمونه )‪(instance‬را تعیین کنیم‪.‬‬
‫همانطور که ميدانید از نسخه ‪ 2000‬به بعد ‪SQL‬‬
‫‪Server‬در هر کامپیوتر ميتوانید بیش از یک نمونه‬
‫)‪(instance‬نصب کنید‪.‬‬
‫اکنون گزینه ‪Default instance‬انتخاب شده و‬
‫بصورت پیش فرض یک نام تعیین شده است‪.‬‬
‫‪22‬‬
‫مراحل نصب ‪SQL Server 2012‬‬
‫اکنون ميتوانید محل‪ ،‬نام و حجم مورد نیازي براي نصب‬
‫نرم افزار را مشاهده کنید‪ .‬روي دکمه ‪Next‬کلیک کنید‪.‬‬
‫در برگه ‪Service Accounts‬تعیین ميشود که کدام‬
‫کاربر به کدام سرویس از ‪SQL Server‬دسترسي دارد‪.‬‬
‫روي برگه ‪Collation‬کلیک کنید‪.‬‬
‫‪23‬‬
‫مراحل نصب ‪SQL Server 2012‬‬
‫ميخواهیم در موتور ‪SQL Server‬زبان فارسي را‬
‫بعنوان ‪Collation‬انتخاب کنیم‪.‬روي دکمه‬
‫‪Customize‬کلیک کنید‪.‬گزینه ‪windows‬‬
‫‪collation designator and sort order‬را‬
‫فعال کنید‪.‬لیست باز شونده ‪Collation designator‬‬
‫را باز کنید‪.‬حرف ‪P‬را تایپ کنید‪.‬روي گزینه ‪Persian‬‬
‫کلیک کنید‪.‬‬
‫به همین ترتیب ‪Collation‬مربوط به سرویس‬
‫‪Analysis‬را نیز تغییر ميدهیم‪.‬‬
‫روي دکمه ‪Next‬کلیک کنید‪.‬‬
‫‪24‬‬
‫مراحل نصب ‪SQL Server 2012‬‬
‫در این قسمت باید نحوه اعتبارسنجي و کد کاربري مدیر‬
‫موتور این نمونه ‪SQL Server‬را تعیین کنیم‪ .‬روي‬
‫گزینه ‪Mixed mode‬کلیک کنید تا اعتبار سنجي هم از‬
‫طریق ویندوز و هم از طریق ‪SQL Server‬انجام شود‪.‬‬
‫روي دکمه ‪Add Current User‬کلیک کنید تا کد‬
‫کاربري که اکنون با آن وارد شدهایم انتخاب شود‪.‬روي دکمه‬
‫‪Next‬کلیک کنید‪.‬‬
‫در این قسمت کد کاربري مدیر و محل نگهداري سرویس‬
‫‪Analysis‬تعیین ميشود‪ .‬روي دکمه ‪Add‬‬
‫‪Current User‬کلیک کنید‪.‬‬
‫روي دکمه ‪Next‬کلیک کنید‪.‬‬
‫‪25‬‬
‫مراحل نصب ‪SQL Server 2012‬‬
‫در این قسمت ميتوانید سرویس ‪Reporting‬‬
‫را تنظیم کنید‪ .‬روي دکمه ‪Next‬کلیک کنید‪.‬‬
‫در صورتي که بخواهید از سرویس‬
‫‪Distributed Replay Controller‬‬
‫استفاده کنید باید یک کاربر براي آن در این قسمت‬
‫تعیین کنید‪ .‬روي دکمه ‪Next‬کلیک کنید‪.‬‬
‫‪26‬‬
‫مراحل نصب ‪SQL Server 2012‬‬
‫در این قسمت ميتوانید آدرس محل ذخیره سازي‬
‫‪Distributed Replay Client‬را تغییر دهید‪.‬‬
‫روي دکمه ‪Next‬کلیک کنید‪.‬‬
‫در صورتي که گزینه موجود را انتخاب کنید یک سري‬
‫اطالعات براي شرکت ‪Microsoft‬ارسال خواهد شد تا‬
‫در نسخههاي بعدي کارایي و ویژگیهاي ‪SQL Server‬‬
‫افزایش یابد و در صورتي که خطایي رخ داد‪ ،‬این خطا‬
‫بصورت خودکار براي بررسي به شرکت ‪Microsoft‬‬
‫ارسال ميشود‪ .‬روي دکمه ‪Next‬کلیک کنید‪.‬‬
‫‪27‬‬
‫مراحل نصب ‪SQL Server 2012‬‬
‫در این قسمت بررسي شده است که برنامه‬
‫‪Setup‬در حین کار به مشکلي برخورد نکند‪.‬‬
‫روي دکمه ‪Next‬کلیک کنید‪.‬‬
‫در این قسمت در یک ساختار درختي ویژگیها و‬
‫سرویسهایي که نصب خواهد شد نمایش داده‬
‫ميشود‪ .‬روي دکمه ‪Install‬کلیک کنید‪.‬‬
‫‪28‬‬
‫مراحل نصب ‪SQL Server 2012‬‬
‫اکنون برنامه در حال نصب ‪SQL Server 2012‬‬
‫است و باید مدتي منتظر بمانید‪...‬‬
‫حال ‪SQL Server‬نصب شده است در این پیغام بیان‬
‫شده که براي نصب کامل باید یک بار کامپیوتر را‬
‫‪Restart‬نمائید‪ .‬روي دکمه ‪OK‬کلیک کنید‪.‬‬
‫اکنون ميتوانید با کلیک بر روي گزینه اول یک نمونه دیگر‬
‫از ‪SQL Server‬را نیز نصب کنید‪ .‬براي خروج روي‬
‫دکمه ‪Close‬کلیک کنید‪.‬‬
‫‪29‬‬
‫محیط مورد استفاده‬
‫اتصال به سرور ‪:‬‬
‫جهت اتصال به سرور نرم افزار ‪SQL Server Management Studio‬‬
‫را باز کرده و در صفحه ی رو به رو ‪Connect to Server‬‬
‫نام سرور و طریقه ی احراز هویت را مشخص می کنیم‪.‬‬
‫پس از ورود صفحه ی زیر نمایش داده می شود‪.‬‬
‫نرم افزار ‪ SQL Server Management Studio‬برای اولین بار در‬
‫نسخه ‪ ۲۰۰۵‬ارائه شد و شامل ابزارهای گرافیکی و ویرایشگر اسکریپت برای‬
‫کار با ویژگی ها و اشیای موجود در ‪SQL‬است‪ .‬با ابزارهای موجود می توان‬
‫همه کارهای مورد نیاز برای مدیریت‪ ،‬نگهداری و توسعه پایگاه های داده را‬
‫انجام داد‪ .‬این محیط جامع با این که همه چیز را کنار هم فراهم آورده‪ ،‬سادگی‬
‫خود را نیز حفظ کرده و کار با آن ساده و دلچسب است‪.‬‬
‫‪30‬‬
‫محیط مورد استفاده‬
‫جهت آشنایی با محیط نرم افزار ‪ SQL Server‬به صورت عملی وارد نرم افزار می شویم‬
‫تا به بررسی ‪Form‬ها ‪Report ،‬ها ‪Ribon ،‬ها و ماژول ها بپردازیم‪.‬‬
‫‪31‬‬
‫فهرست مباحث‬
‫‪–1‬آشنایی مختصر با نحوه ی شکل گیری و توسعه‬
‫‪–2‬اهداف و کاربردهای ‪SQL Server‬‬
‫‪–3‬روش نصب ‪ ،‬محیط و مدل های مورد استفاده‬
‫‪–4‬لیست کلیه امکانات قابل ارائه ‪SQL Server‬‬
‫‪–5‬مزایا و معایب ‪ SQL Server‬و مقایسه‬
Cross-Box ‫محدوده مقیاس‬
‫در دسترس بودن‬
‫مقیاس پذیری و عملکرد‬
‫امنیت‬
‫تکرار‬
‫ابزارهای مدیریت‬
RDBMS ‫قابلیت اداره‬
‫ابزارهای توسعه‬
‫برنامه ریزی‬
‫خدمات یکپارچه سازی‬
‫خدمات پیشرفته یکپارچه سازی آداپتورهای آنان‬
‫تبدیل ادغام خدمات و جوی پیشرفته‬
‫کارشناس خدمات داده ها‬
‫انبار داده ها‬
‫خدمات تجزیه و تحلیل‬
)‫مدل معنایی (چند بعدی‬BI
)‫مدل معنایی (جدولی‬BI
‫برای شیرپوینت‬PowerPivot ‫از‬
‫داده کاوی‬
‫گزارش خدمات‬
‫مشتریان اطالعات کسب و کار‬
‫خدمات فضایی و محل سکونت‬
‫پایگاه خدمات اضافی‬
‫سایر قطعات‬
SQL Server ‫کلیه امکانات قابل ارائه‬
Cross-Box Scale Limits
High Availability
Scalability and Performance
Security
Replication
Management Tools
RDBMS Manageability
Development Tools
Programmability
Integration Services
Integration Services-Advanced Adapters
Integration Services-Advanced Transforms
Master Data Services
Data Warehouse
Analysis Services
BI Semantic Model (Multidimensional)
BI Semantic Model (Tabular)
PowerPivot for SharePoint
Data Mining
Reporting Services
Business Intelligence Clients
Spatial and Location Services
Additional Database Services
Other Components
‫سرویسهاي جدید ‪SQL Server 2012‬‬
‫‪ :SQL Server Database Engine‬این سرویس هسته اصلي بانك اطالعاتي بوده و سرویس مركزي براي مدیریت و پردازش اطالعات‬
‫ميباشد‪ .‬اجراي این سرویس جهت استفاده از امكانات ‪SQL Server‬الزامي ميباشد‪ .‬اجراي ‪Query‬ها‪ ،‬مدیریت بانك اطالعاتي و‪...‬توسط این‬
‫سرویس ميباشد‪.‬‬
‫‪ :SQL Server Agent‬مهمترین وظیفه این سرویس انجام فعالیتهاي مربوط به زمانبندي ‪Job‬ها (كارها) ميباشد‪.‬‬
‫)‪ :SQL Analysis Services (SSAS‬از این سرویس جهت استفاده از امكانات )‪OLAP (On-Line Analytical Processing‬‬
‫استفاده ميشود‪ .‬همچنین این سرویس یكي از سرویسهاي مربوط به ‪BI ) Business Intelligence‬یا هوش سازماني) ميباشد‪.‬‬
‫)‪ :SQL Reporting Services (SSRS‬هدف این سرویس امكان تهیه گزارش از دادههاي موجود در بانك اطالعاتي ميباشد‪.‬‬
‫همچنین این سرویس یكي از سرویسهاي مربوط به ‪BI )Business Intelligence‬یا هوش سازماني) ميباشد‪.‬‬
‫)‪:SQL Server Integration Services (SSIS‬هدف این سرویس ارائه امكانات ‪ETL (Extract, Transform,‬‬
‫)‪Loading‬به كاربران ميباشد‪ .‬بوسیله این سرویس شما ميتوانید عملیات ‪Export ،Import‬و‪ ...‬را با كنترل دقیقتر و بهتري بر روي دادهها‬
‫انجام دهید‪.‬همچنین این سرویس یكي از سرویسهاي مربوط به ‪BI ( Business Intelligence‬یا هوش سازماني) ميباشد و مهمترین كارش‬
‫این است كه دیتا شما را براي سایر سرویسهاي ) ‪ )Analysis Service،BI‬آماده سازي ميكند‪.‬‬
‫‪:SQL Server Distributed Replay Client‬تقریبا ً شبیه به ‪SQL Server Profiler‬عمل ميكند‪ .‬این سرویس ميتواند بر روي‬
‫یك یا چند كامپیوتر نصب شده و ميتواند ) ‪Workload‬باركاري) به ازاي ‪SQL Server‬مورد نظر شما شبیهسازي كند‪.‬‬
‫‪34‬‬
‫سرویسهاي جدید ‪SQL Server 2012‬‬
‫‪:SQL Server Distributed Replay Controller‬وظیفه این سرویس در حقیقت هماهنگ كردن كامپیوترهایي است كه سرویس‬
‫‪SQL Server Distributed Client‬بر روي آنها نصب شده است‪.‬‬
‫‪:SQL Full-text Filter Daemon Launcher‬وظیفه این سرویس ایندكس كردن دادههاي متني بوده به نحوي كه بتوان با سرعت باالي‬
‫دادهها را جستجو نمود‪.‬‬
‫‪«:SQL Server Browse‬ایها اَلكامپیوترها‪/‬اَلكالینتها من داراي ‪SQL Server‬هستم‪ ».‬این جملهاي است كه كامپیوتري كه‬
‫داراي‪ SQLServer‬است مدام آن را در شبكه پخش ميكند‪ .‬در حقیقت وظیفه این سرویس انتشار نام و‪SQL Server ...‬نصب شده بر روي‬
‫سرور به كالینتها ميباشد‪ .‬شاید از خودتون بپرسید كه من در پنجره مربوط به تنظیمات ‪Connection String‬لیستي از اسامي كامپیوترهایي‬
‫را مشاهده مي كنم كه داراي ‪SQL Server‬هستند چگونه این كار انجام مي شود‪ .‬جواب این سوال در واقع وابسته به اجراي این سرویس است‪ .‬این‬
‫سرویس به كلیه كالینت هاي موجود در شبكه اعالم مي كند كه داراي ‪SQL‬است بنابراین شما نام كامپیوتري كه ‪SQL Server‬بر روي آن‬
‫نصب شده است را در این قسمت مشاهده مي كنید‪.‬‬
‫‪:SQL Server Writer‬همان سرویس ‪SQL Server VSS Writer‬سابق ميباشد‪ .‬بوسیله این سرویس ميتوانید عملیات تهیه و بازیابي‬
‫نسخه پشتیبان با استفاده از ‪Volume Shadow Copy Services‬انجام بدهید‪ .‬این تكنولوژي امكان تهیه نسخه پشتیبان در سطح بالك فراهم‬
‫ميكند‪ .‬با استفاده از این تكنولوژي ميتوان از فایلهاي در حال استفاده (مثل فایلهاي ‪)SQL Server‬نسخه پشتیبان تهیه كرد‪.‬‬
‫‪35‬‬
‫ویژگیهای جدید ‪SQL Server 2012‬‬
‫در این نسخه تغييرات زیادی از لحاظ کارایی‪ ،‬سرعت و مدیریت حجم بسيار باالی داده ها صورت گرفته و به همين دليل آنرا‬
‫با ‪ 3‬جمله زیر معرفی کرده اند ‪:‬‬
‫پشتيبانی از ویندوز آزور ‪ ،Windows Azure‬توسعه در ‪ ،Cloud‬محيط یکپارچه برنامه نویسی برای برنامه نویسان‪،‬‬
‫توسعه امکانات آناليز سرویس و ‪ ،BI‬مدیریت حجم باالی داده ها‪ ،‬پشتيبانی کامل و بهبود یافته از ‪PowerPivot‬و …‪.‬‬
‫برخی از امکانات این نسخه از ‪SQL‬ميباشد‪.‬‬
‫‪36‬‬
‫ویژگیهای جدید ‪SQL Server 2012‬‬
‫‪ : AlwaysOn‬یكی از مهمترین ویژگیها در ‪SQL Server 2012‬در بحث ‪High Availability‬یا در دسترس بودن هست و در واقع‬
‫تكمیل كننده ‪Database Mirroring‬در نسخه های قبلی میباشد‪.‬در ‪Mirroring‬ما به صورت تك تك دیتابیس هامون رو میرور میكنیم ولی در‬
‫‪AlwaysOn‬این كار به صورت گروهی انجام میشه یعنی چندین دیتابیس و میتونیم دو روش همزمان )‪(Synchronous‬و غیر همزمان‬
‫)‪(Asynchronous‬رو با هم تركیب كنیم‪.‬بر خالف میرورینگ دیتابیس ما به صورت فقط خواندنی قابل كوئری گرفتنه و حتی بكاپ گرفتن‪.‬‬
‫نكته‪:‬در نسخه های قبلی با گرفتن ‪Snapshot‬از دیتابیس ‪Mirror‬میتوان به صورت فقط خواندنی از دیتابیس استفاده كرد‪.‬‬
‫پشتیبانی از ‪ : Windows Server Core‬نسخه ‪SQL Server 2012‬قابل نصب روی ‪Windows Server Core‬هست یعنی شما‬
‫نسخه ای از ‪SQL Server‬رو نصب میكنید كه هیچ ‪GUI‬ی نداره و ارتباط شما از طریق ‪Command Prompt‬و ‪Powershell‬انجام‬
‫میشه‪.‬در واقع این كار برای نرم افزارهای كه به صورت ‪back-end‬خدمات میدن استفاده میشه و در نتیجه سرعت و امنیت و عدم نیاز به ‪Patch‬‬
‫كردن رو برای ما فراهم میكنه‪.‬‬
‫‪ : Power View‬یك ابزار گزارش گیری تعاملی تحت وب كه با ‪Silverlight‬نوشته شده (با كد نام ‪ )Crescent‬هست كه به كاربران كه معموال‬
‫آنالیزورهای دیتا هستن امكان گزارش گیری های ‪ad hoc‬رو میده‪.‬‬
‫نكته ‪ :‬برای كار با ‪Power View‬نیاز به ‪SharePoint Server 2010‬هست‪.‬‬
‫‪ : SQL Server Data Tools‬یك محیط یكپارچه توسعه داخل ‪Visual Studio‬هست كه به شما امكان طراحی دیتابیس رو میده‪.‬از قابلیت‬
‫های جالب این محیط میشه به قابلیت ‪IntelliSense‬و دیباگ كردن اشاره كرد‪SQL Server Data Tools .‬میتونه به ‪SQL Server‬‬
‫‪2005‬به بعد وصل بشه‪.‬‬
‫‪ : Distributed Replay‬یه اصطالحی در دنیای كامپیوتر هست بنام زیر بار گذاشتن مثال برای تست ‪CPU‬میایم یه پردازش سنگین رو اجرا‬
‫میكنیم تا ببینم ‪CPU‬زیر این بار جواب میده‪.‬حاال فرض كنید همین كارو بخواهیم برای ‪SQL Server‬انجام بدیم‪.‬برای مثال میخواهیم باركاری‬
‫)‪(Workload‬سیستم جاری (درحال استفاده) رو روی سرور جدید خریداری شده تست كنیم‪.‬برای این كار باركاری رو از سرور جاری دریافت‬
‫)‪(Capture‬و در سرور جدید و مثال از طریق چند )‪Client‬قابل كانفیگ) مجددا اجرا )‪(Replay‬میكنیم‪.‬‬
‫‪37‬‬
‫ویژگیهای جدید ‪SQL Server 2012‬‬
‫‪ : Power View‬ابزاری جدید و تعاملی برای گزارشگیری و پویش داده هاست که کاربران را قادر می سازد تا بصورت بصری به اکتشاف و سیاحت‬
‫در داده ها بپردازند‪ .‬مزایا‪:‬‬
‫به تصویرکشیدن و تجسم تجربه طراحی‬
‫فیلتر کردن و هایالیت کردن داده ها‬
‫آالرت دهی سلف سرویس‬
‫عملکرد‬
‫ارتقاء و بهبود قابلیت های ‪PowerPivot‬‬
‫در نسخه ‪ ،2012‬مایکروسافت قابلیت های تجزیه تحلیل داده ها در‬
‫‪ PowerPivot‬را‪ ،‬برای فراهم آوردن کارکردهای بهبودیافته در حوزه ‪BI‬‬
‫سلف سرویس برای همه کاربران‪ ،‬ارتقاء داده است‪ .‬بهبودهای پیاده سازی شده‬
‫در ‪PowerPivot‬به کاربران کمک می کند تا داده ها را از منابع چندگانه‬
‫ترکیب کرده‪ ،‬گزارشات و اپلیکیشن های تحلیلی را با سرعت بیشتری تولید‬
‫نمایند و با بهره گیری از محیط آشنای اکسل و شیرپوینت اطالعات و دانش‬
‫بدست آمده را به اشتراک گذارند‪ .‬برای نمونه‪:‬‬
‫نمای دیاگرام ها‬
‫سلسله مراتب ها‬
‫ارتباطات در نمای دیاگرام ها‬
‫روابط چندگانه‬
‫قابلیت های گزارشگیری‬
‫شاخص های کلیدی عملکرد‬
‫‪BI‬سلف سرویس‬
‫‪38‬‬
‫ویژگیهای جدید ‪SQL Server 2012‬‬
‫‪ : Columnstore Indexes‬یكی از ویژگی های منحصر به فرد ‪SQL Server‬هست كه دیتا ها رو بجای ذخیره به صورت سطری و در یك‬
‫‪Page‬كه روش سنتی هست; میاد ستون های رو كه در یك ایندكس هستند رو به صورت ستونی و در چند ‪Page‬ذخیره میكنه‪.‬سوالی كه پیش میاد اینه‬
‫كه خب این كار چه سودی داره؟‬
‫سرعت باال هنگام كوئری زدن با توجه به اینكه فقط ستون های كه در كوئری اومدن لود میشن‬
‫فشردگی بیشتر با توجه به احتمال تكراری بودن دیتا امكان فشردگی بر اساس الگوریتم های موجود بیشتر میشود‪.‬‬
‫نكته ‪ :‬با این نوع ایندكس جدول فقط خواندنی میشود بنابراین مناسب برای ‪OLTP‬نیست و در واقع برای ‪Data Warehouse‬ها طراحی شده‪.‬‬
‫‪ : Contained Databases‬با این روش ما میتونیم یك دیتابیس جامع و یه جورایی ‪Stand Alone‬داشته باشیم‪.‬یعنی ما میتونیم یك دیتابیس‬
‫روی سرور ‪A‬بسازیم بعد همین دیتابیس رو ببریم روی سرور ‪B‬استفاده كنیم بدون هیچ كار اضافه ای‪.‬سوالی كه پیش میاد اینه كه پس ‪User‬های اون‬
‫دیتابیس چی میشن؟‬
‫زیبایی كار همینه و در واقع از اسم این نوع دیتابیس هم مشخصه «‪ »Contained‬یعنی ‪User‬ما داخل دیتابیس هست و در سرور ‪B‬فقط و فقط به‬
‫این دیتابیس دسترسی داره‪.‬‬
‫پیشرفت در ‪ : T-SQL‬پشتیبانی از دنباله اعداد ‪ ,‬عملگر ‪TRY_CONVERT‬و تبدیل كردن دیتاها ‪ ,‬استفاده از ‪Syntax‬ه ‪OFFSET‬و‬
‫‪FETCH‬برای صفحه صفحه كردن دیتا یا ‪Data Paging ,‬تابع جدید ‪FORMAT‬برای راحت كردن قالب بندی دیتای خروجی ‪ ,‬عملگر‬
‫‪THROW‬برای انجام بهینه تره رسیدگی به خطا )‪(Exception Handaling‬و…‬
‫‪ : User-Defined Server Roles‬در سطح سرور ما تعداد محدودی ‪Role‬داریم فرض كنید بعنوان ‪DBA‬میخوایم به تیم ‪Develop‬شركت‬
‫دسترسی ‪read/write‬به تمام دیتابیس ها بدیم متاسفانه چنین ‪Role‬ی در سطح سرور نداریم و باید به ازای تك تك دیتابیس ها این دسترسی رو‬
‫بدیم‪SQL Server 2012 .‬این مشكل رو برای ما حل كرده‪.‬‬
‫‪ : Data Quality Services‬ابزاری هست برای برسی كیفیت و تصحیح كردن دیتاهای غلط بر اساس اطالعات و دانشی كه ما بهش میدیم در‬
‫واقع این سروریس ‪knowledge-based‬هست‪.‬برای مثال فرض كنید فیلدی بنام جنسیت داریم كه داخلش هم ‪M‬هست هم ‪Male‬و حتی عدد‬
‫یك‪.‬متخصص داده در سازمان تعیین میكنه مقدار این فیلد باید ‪Male‬باشه كه در واقع میشه ‪knowledge‬این سرویس و بر اساس اون این سرویس‬
‫دیتا رو تصحیح میكنه‪.‬‬
‫‪39‬‬
Data Performance
Business Intelligence
40
‫برخی ویژگیهای‬
SQL
Server
2012
Always On Availability Groups
‫قابلیت های مکانی جدید در ‪SQL Server 2012‬‬
‫از جمله پیشرفت های قابل توجه و دارای اهمیت بیشتر‪ ،‬پشتیبانی از منحنی (کمان) است‪ .‬درحالی که اس کیو ال سرور ‪ ۲۰۰۸‬تنها خطوط‬
‫مستقیم ‪ ،‬یا چند ضلعی متشکل از خطوط مستقیم را پشتیبانی می کرد‪ .‬مایکروسافت همچنین متدهایی را برای تست سازگاری جهت اشکال‬
‫(منحنی) غیر‪ -‬سازگار با ورژن ‪ ۲۰۱۲‬و تبدیل اشکال منحنی به اطالعات خطی برای سازگاری با اس کیو ال سرور ‪( ۲۰۰۸‬و همچنین سایر‬
‫سیستم هایی که منحنی را پشتیبانی نمی کند) فراهم می کند‪.‬‬
‫کالس های جدید داده های مکانی‬
‫سه کالس جدید داده های فضایی در ‪SQL‬سرور ‪ ۲۰۱۲‬ارائه شده اند که عبارتند از‪:‬‬
‫•رشته های مدور )‪(Circular strings‬‬
‫•منحنی مرکب )‪(Compound curves‬‬
‫•چند ضلعی های منحنی )‪(Curve polygons‬‬
‫هر سه این اشکال در فرمت ‪ ،WKB ،WKT‬و ‪GML‬و نوع داده ‪geometry‬و ‪geography‬پشتییانی می شوند‪ ،‬و همه متدهای موجود نیز‬
‫در تمام این اشکال دایره ای جدید کار می کنند‪.‬‬
‫‪41‬‬
‫قابلیت های مکانی جدید در ‪SQL Server 2012‬‬
‫متدهای ‪STNumCurves‬و ‪STCurveN‬‬
‫این دو متد را می توان برروی هر نمونه از ‪geometry‬یا ‪geography‬فراخوانی کرد‪ .‬آنها را با هم برای کشف اطالعاتی در مورد منحنی های موجود‬
‫در نمونه های مکانی می توان مورد استفاده قرار داد‪ .‬متد ‪STNumCurves‬تعداد کل منحنی های نمونه شی مکانی را برمی گرداند‪ .‬بعد از آن می توانید‬
‫هر عددی بین ‪ ۱‬و آنچه ‪STNumCurves‬برمی گرداند را برای استخراج هر یک از منحنی های موجود در متد ‪STCurveN‬استفاده کرده‪ ،‬و در‬
‫نتیجه یک حلقه برروی منحنی های موجود در شی مکانی تشکیل داد‪.‬‬
‫متد ‪BufferWithCurves‬‬
‫‪SQL Server 2008‬متد ‪STBuffer‬را معرفی کرد که یک رشته خط را بافر زده و آن‬
‫را تبدیل به یک پلیگون می کند‪ .‬واضح است که استفاده از تعریف منحنی کارآمدتر از تعداد زیادی‬
‫خطوط مستقیم در یک پلیگون معمولی است‪ .‬برای سازگاری با نسخه های قبلی‪،‬‬
‫متد ‪STBuffer‬همچنان مانند قبل پلیگون برمی گرداند‪SQL .‬سرور ‪ ۲۰۱۲‬یک متد جدید‬
‫‪،‬یعنی متد ‪ ،BufferWithCurves‬برای این منظور معرفی می کند‪ .‬کد روبرو با استفاده‬
‫از ‪BufferWithCurves‬خطوط بافری را با استفاده از منحنی های واقعی ایجاد کرده‪ ،‬و‬
‫نتیجه را با معادل خط مستقیم آن از ‪STBuffer‬مقایسه می کند‪.‬‬
‫شکل زیر نتیجه بازگردانده شده توسط اولین عبارت ‪SELECT‬است (مجموعه ای از خطوط‬
‫بافر ایجاد شده توسط ‪BufferWithCurves ):‬‬
‫‪42‬‬
‫قابلیت های مکانی جدید در ‪SQL Server 2012‬‬
‫متد ‪ShortestLineTo‬‬
‫این متد جدید دو شکل را بررسی کرده و کوتاهترین خط بین آنها را پیدا می کند‪ .‬کد زیر را ببینید‪ .‬این کد دو پلیگون را تعریف می کند و سپس با استفاده‬
‫از ‪ShortestLineTo‬برای تعیین‪ ،‬تولید‪ ،‬و بازگشت کوتاهترین خط مستقیم که به آنها متصل است اقدام می کند‪STBuffer .‬نیز برای بافرزدن‬
‫رشته خط استفاده می شود تا وضوح نمایش آن در ‪viewer‬افزایش یابد‪.‬‬
‫متد ‪MinDbCompatibilityLevel‬‬
‫با اضافه شدن پشتیبانی برای اشکال منحنی در ‪SQL Server 2012‬می آید پشتیبانی از سازگاری با نسخه های قبلی ‪SQL‬سرور ( ‪ ۲۰۰۸‬و ‪۲۰۰۸‬‬
‫‪ )R2‬که منحنی را پشتیبانی نمی کند الزم می آید‪ .‬متد جدید ‪MinDbCompatibilityLevel‬رشته ‪WKT‬می پذیرد و حداقل نسخه از ‪SQL‬‬
‫‪Server‬مورد نیاز برای پشتیبانی از شکل تعریف شده توسط آن رشته را برمی گرداند‪.‬‬
‫‪43‬‬
‫قابلیت های مکانی جدید در ‪SQL Server 2012‬‬
‫متدهای ‪STCurveToLine‬و ‪CurveToLineWithTolerance‬‬
‫این دو متد را شما می توانید برای تبدیل منحنی به شکل تقریبا معادل خط مستقیم استفاده کنید‪ .‬متد ‪STCurveToLine‬تبدیل یک منحنی به یک رشته‬
‫خط را بوسیله تعداد بسیاری از قطعه خط ها و نقاط که به بهترین شکل منحنی اصلی را تقریب می زنند انجام میدهد‪ .‬تکنیک آن مشابه آنچیزی است که‬
‫برای ‪STBuffer‬گفته شد‪ ،‬که در آن بسیاری از خطوط مستقیم کوتاه در یک مجموعه از نقاط برای شبیه سازی منحنی به هم متصل شده اند و همانطور‬
‫که در آن بحث توضیح داده شد ‪ ،‬رشته خط حاصل به طور قابل توجهی نیاز به ذخیره سازی بیشتری نسبت به منحنی اصلی دارد‪ .‬برای مصالحه بین‬
‫وفاداری به سیستم قبلی و ذخیره سازی زیاد ‪ ،‬متد ‪CurveToLineWithTolerance‬پارامترهای “آستانه” را می پذیرد تا رشته خطی تولید کند که‬
‫مصرف فضای ذخیره سازی آن کمتر از رشته خط تولید شده توسط ‪STCurveToLine‬است کد زیر استفاده از هر دو متد را برای تبدیل شکل دایره‬
‫مشابه مثال ‪STNumCurves‬و ‪STCurveN‬قبلی به رشته خط نشان می دهد‪.‬‬
‫‪44‬‬
‫قابلیت های مکانی جدید در ‪SQL Server 2012‬‬
‫متدهای ‪ IsValidDetailed ،STIsValid‬و ‪MakeValid‬‬
‫تعیین اعتبار اشیاء مکانی در ‪SQL Server 2012‬تا حد زیادی بهبود یافته است‪ .‬متد ‪STIsValid‬به یک شی مکانی را بررسی کرده و مقدار ‪۱‬‬
‫(درست ) یا ‪( ۰‬غلط) برمی گرداند که نشان می دهد اگر شی نمایشگر یک شکل معتبر است یا خیر‪ .‬اگر شی نامعتبر باشد‪ ،‬متد‬
‫جدید ‪IsValidDetailed‬به دلیل عدم اعتبار آن را توضیح می دهد‪ .‬کد روبرو را ببینید‪:‬‬
‫این رشته خط نامعتبر است زیرا نقطه (‪ )۲ ۲‬تکرار شده است‪ ،‬که منجر به خطای “لبه ها با هم تداخل دارند‪”،‬‬
‫می شود که خروجی ‪IsValidDetailed‬آن را برمیگرداند‪:‬‬
‫‪SQL‬سرور ‪ ۲۰۱۲‬تحمل بیشتری برای اشیا مکانی نامعتبر نسبت به نسخه های قبلی دارد‪ .‬برای مثال‪ ،‬شما هم اکنون می توانید انجام عملیات متریک‬
‫مانند ‪ STLength‬را برروی اشیا نامعتبر نیز انجام دهید‪ ،‬هر چند هنوز هم قادر نخواهید بود به انجام عملیات های دیگر مانند ‪STBuffer‬را بر روی‬
‫آنها اجرا کنید‪.‬‬
‫متد جدید ‪MakeValid‬می تواند اشیا مکانی نامعتبر را تصحیح کرده و آن را معتبر سازد‪ .‬البته‪ ،‬شکل کمی تغییر خواهد کرد‪ ،‬و هیچ تضمینی بر صحت‬
‫و یا دقت تغییرات انجام شده وجود ندارد‪ .‬کد زیر با استفاده از ‪MakeValid‬به حذف قطعاتی که با هم تداخل دارند (که می تواند توسط ناهنجاریهای‬
‫مانند آثار نادرست ‪GPS‬ایجاد شده باشد) اقدام کرده و رشته خط نامعتبر به یک شی مکانی معتبر تبدیل می کند‪.‬‬
‫رشته ‪WKT‬بازگردانده شده توسط دستور ‪SELECT‬رشته خط تصحیح شده را نشان می دهد‪:‬‬
‫‪45‬‬
‫فهرست مباحث‬
‫‪–1‬آشنایی مختصر با نحوه ی شکل گیری و توسعه‬
‫‪–2‬اهداف و کاربردهای ‪SQL Server‬‬
‫‪–3‬روش نصب ‪ ،‬محیط و مدل های مورد استفاده‬
‫‪–4‬لیست کلیه امکانات قابل ارائه ‪SQL Server‬‬
‫‪–5‬مزایا و معایب ‪ SQL Server‬و مقایسه‬
‫مزایا و معایب ‪SQL Server‬‬
‫به نظر کاربر می رسد که مثل یک جدول واقعی‪ ،‬با مجموعه ای از ستون ها نام و ردیف از داده ها سر و کار دارد‪.‬‬
‫‪ SQL Server‬توهم این دیدگاه را با دادن مشخصات یک نام مانند نام جدول و ذخیره سازی و تعریف از این دیدگاه در پایگاه داده ایجاد می کند‪.‬‬
‫نمایش ها)‪ (View‬برای هدف های امنیتی در پایگاه های داده استفاده می شود‪ ،‬نمایش کاربر‪،‬محدود از دیدن ستون ها و ردیف خاص‪.‬تنها به کسانی نمایش‬
‫داده می شود که در پرس و جو ذکر شده است‪ ،‬سپس نمایش می دهد‪.‬‬
‫مزایای استفاده از نمایش )‪(views‬‬
‫امنیت )‪ ،(Security‬سادگی پرس و جو)‪ ، (Query Simplicity‬سادگی سازه (‪ ، )Structural simplicity‬سازگاری (‪، )Consistency‬‬
‫تمامیت داده ها (‪ ، )Data Integrity‬استقالل داده منطقی (‪)Logical data independence‬‬
‫معایب استفاده از نمایش )‪(views‬‬
‫کارایی)‪ ، (Performance‬محدودیت های به روز رسانی )‪(Update restrictions‬‬
‫‪47‬‬
SQL Server ‫مزایا و معایب‬
Disadvantage
Cost
Limited Compatibility
...
Advantage
Enterprise-Grade Management Software
Excellent Data Recovery Support
Security Features
Streamlined Installation
Lower Ownership Costs
Facts
...
48
‫معایب‬
‫هزینه‬
‫سازگاری محدود‬
...
‫مزایا‬
‫نرم افزار مدیریت درجه سازمانی‬
‫پشتیبانی بازیابی اطالعات بسیار عالی‬
‫ویژگی های امنیتی‬
‫نصب و راه اندازی ساده‬
‫هزینه های مالکیت پایین‬
‫آمار‬
...
‫مقایسه انواع مختلف ‪SQL Server‬‬
‫‪Datacenter‬‬
‫این ویرایش نمونه کامل ‪MS SQL Server‬است که برای دیتاسنترهایی که نرم افزارهای زیاد با حجم باالی داده و تراکنش باال را اجرا‬
‫می کنند طراحی شده است‪ .‬از نسخه ‪ ۲R۲۰۰۸‬آن تا ‪ ۲۵۶‬پردازنده و حجم نامحدود ‪RAM‬را پشتیبانی می کند‪.‬‬
‫‪Enterprise‬‬
‫از نظر ویژگی ها از ویرایش ‪Datacenter‬در سطح پایین تری قرار دارد‪ ،‬برای دیتابیس های بزرگ و متوسط استفاده می شود‪ ،‬تا هشت‬
‫پردازنده (در نسخه ‪ ۱۶۰ ،۲۰۱۲‬پردازنده) و دو ترابایت ‪RAM‬را پشتیبانی می کند‪ .‬در این ویرایش می توان دیتابیس هایی با حجم‬
‫‪ ۵۲۴‬پتابایت (هر پتابایت ‪ ۱۰۲۴‬ترابایت است) ذخیره کرد‪.‬‬
‫‪Developer‬‬
‫از نظر ویژگی ها مانند ‪Enterprise‬است‪ ،‬با این تفاوت که نمی توان از آن در سرورها استفاده کرد و ‪license‬آن فقط برای محیط تولید‬
‫و تست است‪ .‬نمونه رایگان آن برای دانلود دانشجویان در سایت مایکروسافت وجود دارد‪.‬‬
‫‪Express‬‬
‫یک ویرایش سبک و رایگان است که فقط یک پردازنده‪ ،‬یک گیگابایت ‪RAM‬و چهار گیگابایت حجم داده را پشتیبانی می کند‪.‬‬
‫ویرایش های دیگری نیز وجود دارد که هریک به منظور خاصی سفارشی شده است؛ برای مثال ‪Azure‬ویرایش مبتنی بر ‪Cloud‬است‪.‬‬
‫‪49‬‬
Features Supported by the Editions of SQL Server 2012
Cross-Box Scale Limits
Business
Intelligence
Web
Express with
Tools
Feature Name
Enterprise
Maximum Compute
Capacity Used by a
Single Instance (SQL
Server Database
Engine)
Operating System Limited to lesser of Limited to lesser of Limited to lesser
Limited to lesser
maximum
4 Sockets or 16
4 Sockets or 16
of 4 Sockets or 16 of 1 Socket or 4
cores
cores
cores
cores
Limited to lesser Limited to lesser
of 1 Socket or 4 of 1 Socket or 4
cores
cores
Maximum Compute
Capacity Used by a
Single Instance
(Analysis Services,
Reporting Services)
Operating system
maximum
Operating system
maximum
Limited to lesser of Limited to lesser
Limited to lesser
4 Sockets or 16
of 4 Sockets or 16 of 1 Socket or 4
cores
cores
cores
Limited to lesser Limited to lesser
of 1 Socket or 4 of 1 Socket or 4
cores
cores
Maximum memory
utilized (per instance
of SQL Server
Database Engine)
Operating system
maximum
64 GB
64 GB
64 GB
1 GB
1 GB
1 GB
Maximum memory
utilized (per instance
of Analysis Services)
Operating system
maximum
Operating system
maximum
64 GB
N/A
N/A
N/A
N/A
Maximum memory
utilized (per instance
of Reporting Services)
Operating system
maximum
Operating system
maximum
64 GB
64 GB
4 GB
N/A
N/A
Maximum relational
Database size
524 PB
524 PB
524 PB
524 PB
10 GB
10 GB
10 GB
50
Standard
Express with
Advanced
Services
Express
Features Supported by the Editions of SQL Server 2012
High Availability
Feature Name
Enterprise
Business
Intelligence
Standard
Web
Express with
Express with
Advanced Services Tools
Express
Server Core support
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Log Shipping
Yes
Yes
Yes
Yes
Database mirroring
Yes
Yes (Safety Full
Only)
Yes (Safety Full
Only)
Witness only Witness only
Witness only
Witness only
AlwaysOn Failover Cluster
Instances
Yes (Node support:
Operating system
maximum
Yes (Node
support: 2)
Yes (Node
support: 2)
Backup compression
Yes
Yes
Yes
Database snapshot
Yes
AlwaysOn Availability Groups
Yes
Connection Director
Yes
Online page and file restore
Yes
Online indexing
Yes
Online schema change
Yes
Fast recovery
Yes
Mirrored backups
Yes
Hot Add Memory and CPU
Yes
Database Recovery Advisor
Yes
Yes
Yes
Yes
Yes
Yes
51
Yes
Features Supported by the Editions of SQL Server 2012
PowerPivot for SharePoint
Feature Name
Enterprise
Business Intelligence
SharePoint farm integration
based on shared service
architecture
Yes
Yes
Usage reporting
Yes
Yes
Health monitoring rules
Yes
Yes
PowerPivot Gallery
Yes
Yes
PowerPivot Data Refresh
Yes
Yes
PowerPivot Data Feeds
Yes
Yes
52
Standard
Web
Express with
Advanced
Services
Express
with Tools
Express
Features Supported by the Editions of SQL Server 2012
Data Mining
Feature Name
Enterprise
Business
Intelligence
Standard
Standard Algorithms
Yes
Yes
Yes
Data Mining Tools (Wizards, Editors Query Builders)
Yes
Yes
Yes
Cross Validation
Models on Filtered Subsets of Mining Structure Data
Yes
Yes
Yes
Yes
Time Series: Custom Blending Between ARTXP and ARIMA
Methods
Yes
Yes
Time Series: Prediction with New Data
Yes
Yes
Unlimited Concurrent DM Queries
Yes
Yes
Advanced Configuration & Tuning Options for Data Mining
Algorithms
Yes
Yes
Support for plug-in algorithms
Yes
Yes
Parallel Model Processing
Yes
Yes
Time Series: Cross-Series Prediction
Yes
Yes
Unlimited attributes for Association Rules
Yes
Yes
Sequence Prediction
Yes
Yes
Multiple Prediction Targets for Naïve Bayes, Neural Network
and Logistic Regression
Yes
Yes
53
Web
Express with
Advanced Services
Express with
Express
Tools
DB-Engines Ranking
Rank
DBMS
Database Model
Score
Changes
1.
Oracle
Relational DBMS
1500.23
+32.43
2.
MySQL
Relational DBMS
1288.39
-8.53
3.
Microsoft SQL
Server
Relational DBMS
1214.27
-11.75
4.
PostgreSQL
Relational DBMS
230.45
+2.20
5.
MongoDB
Document store
195.17
+16.94
6.
DB2
Relational DBMS
188.46
+0.15
7.
Microsoft Access
Relational DBMS
152.88
-22.11
8.
SQLite
Relational DBMS
93.00
-4.29
9.
Sybase ASE
Relational DBMS
87.88
-6.62
Cassandra
Wide column
store
80.31
-0.87
10.
54
Name
Description
DB2
Common in IBM host
environments, 2 different versions
for host and Windows/Linux
Microsoft Access
Microsoft Access combines a
backend RDBMS (JET / ACE
Engine) with a GUI frontend for
data manipulation and queries.
Microsoft SQL Server
Microsofts relational DBMS
MySQL
Widely used open sourceRDBMS
Oracle
Widely usedRDBMS
Rank
Score
Developer
Initial release
License
Implementation language
Server operating systems
6
188.46
IBM
1983
commercial
C and C++
Linux
Unix
Windows
z/OS
7
152.88
Microsoft
1992
commercial
C++
Windows
3
1214.27
Microsoft
1989
commercial
C++
Windows
2
1288.39
Oracle
1995
Open Source
C and C++
FreeBSD
Linux
OS X
Solaris
Windows
Database model
Supported programming
languages
Relational DBMS
C
C#
C++
Cobol
Fortran
Java
Perl
PHP
Python
Ruby
Visual Basic
Relational DBMS
C
C#
C++
Java (JDBC-ODBC)
VBA
Visual Basic.NET
Relational DBMS
.Net
Java
PHP
Python
Ruby
Visual Basic
Relational DBMS
Ada
C
C#
C++
D
Eiffel
Erlang
Haskell
Java
Objective-C
OCaml
Perl
PHP
Python
Ruby
Scheme
Tcl
1
1500.23
Oracle
1980
commercial
C and C++
AIX
HP-UX
Linux
OS X
Solaris
Windows
z/OS
Relational DBMS
C
C#
C++
Clojure
Cobol
Eiffel
Erlang
Fortran
Groovy
Haskell
Java
JavaScript
Lisp
Objective C
OCaml
Perl
PHP
Python
R
Ruby
Scala
Tcl
Visual Basic
55
‫ های مورد بحث‬DataBase ‫مقایسه انواع‬
DB2
Name
yes
Data scheme
yes
Typing
yes
Secondary indexes
yes
SQL
APIs and other access methods JSON style queries
XQuery
ADO.NET
JDBC
ODBC
yes
Server-side scripts
yes
Triggers
Sharding
Partitioning methods
Microsoft Access
yes
yes
yes
yes
DAO
OLE DB
ADO.NET
ODBC
yes
yes
none
Replication methods
yes
MapReduce
Foreign keys
Transaction concepts
Concurrency
Durability
User concepts
no
no
yes
yes
ACID
ACID
yes
yes
yes
yes
fine grained access rights according no
to SQL-standard
Is one of the "Big 3" commercial
Not a real database server, but
database management systems
making use of DLLs
besides Oracle and SQL Server
(Microsoft)
typically used in large hostTypically used in smaller singleenvironments
user-applications.
Specific characteristics
Typical application scenarios
56
none
Microsoft SQL Server
yes
yes
yes
yes
OLE DB
Tabular Data Stream (TDS)
ADO.NET
JDBC
ODBC
Transact-SQL and .NET languages
yes
tables can be distributed across
several files (horizontal
partitioning), but no sharding
MySQL
yes
yes
yes
yes
ADO.NET
JDBC
ODBC
Oracle
Yes
Yes
Yes
Yes
ODP.NET
Oracle Call Interface (OCI)
JDBC
ODBC
yes
yes
horizontal partitioning in MySQL
Cluster
PL/SQL
yes
horizontal partitioning
yes, but depending on the SQLServer Edition
Master-master replication
Master-master replication
Master-slave replication
Master-slave replication
MySQL Cluster
no
no
yes
yes
ACID
ACID
yes
yes
yes
yes
Users with fine-grained
Users with fine-grained
authorization concept
authorization concept
open source, since 2010 owned by Is one of the "Big 3" commercial
Oracle
database management systens,
besides DB2 (IBM) and SQL Server
(Microsoft)
no
yes
ACID
yes
yes
Users with fine-grained
authorization concept
Is one of the "Big 3" commercial
database management systems
besides Oracle and DB2
Performance
57
‫مقایسه هزینه ها مابین ‪ SQL Server‬و ‪Oracle‬‬
‫‪58‬‬
‫امکانات و ویژگی های سطح باال ‪Enterprise‬‬
‫ویژگی‪/‬قابلیت‬
‫پشتیبانی ‪ 64‬بیتی‬
‫‪Sql 2012 MySql 5.5‬‬
‫*‬
‫*‬
‫توضیحات‬
‫پشتیبانی از سیستم های ‪ 64‬بیتی‬
‫نماهای پارتیشنبندی شده ی توزیعی‬
‫‪-‬‬
‫*‬
‫روشی برای موثرسازی دسترسی یکپارچه به دیتابیس ها‬
‫‪Failover Clustering‬‬
‫*‬
‫*‬
‫هر دو برنامه از کالسترینگ ویندوز پشتیبانی میکنند‬
‫همیشه فعال‬
‫‪-‬‬
‫*‬
‫جابه جایی الگ‬
‫‪-‬‬
‫*‬
‫افزودن الگ فعل و انفعاالت در الگ دیتابیس که در سرور دیگری قرار دارد‬
‫‪Replication‬‬
‫*‬
‫*‬
‫هردو برنامه از رپلیکیشن پشتیانی میکنند‬
‫پشتیبانی چند‪-‬دستگاه‬
‫*‬
‫*‬
‫هردو برنامه در سناریوهای ادغام شده قابل اجرا هستند‬
‫فشرده سازی پیشرفته‬
‫*‬
‫*‬
‫کمک به فشرده سازی داده در دیتابیس به منظور کاهش حجم و افزایش کارایی عملیات ‪I/O‬در ‪sql‬‬
‫بکاپ آنالین‬
‫*‬
‫*‬
‫امکان پشتیبان گیری از دیتابیس بدون نیاز به آفالین کردن آن‬
‫پشتیبانی از ‪SAN‬‬
‫*‬
‫*‬
‫در حالی که در هردو برنامه این امکان وجود دارد اما ‪Sql‬قابلیت ذاتی و داخلی پشتیبانی از ‪SAN‬را دارد‬
‫پردازش رویدادهای پیچیده‬
‫‪-‬‬
‫*‬
‫قابلیت پردازش رویدادهای پیچیده به دلیل وجود امکان ‪StreamInsight‬‬
‫کیفیت داده‬
‫‪-‬‬
‫*‬
‫سرویسهای ‪Data Qualities‬در ‪sql‬باعث تصحیح‪ ،‬غنی کردن‪ ،‬استاندارد کردن و تک سازی کردن داده را با استفاده از روش ‪knowledge-driven‬‬
‫دارد‬
‫مدیریت داده های مستر‬
‫‪-‬‬
‫*‬
‫سرویس های ‪Master Data‬در ‪Sql‬امکان فراهم کردن راهکارهایی برای مدیریت داده های مستر دارد‬
‫اضافه کردن حافظه و پردازشگر‬
‫‪-‬‬
‫*‬
‫تغییر شما در حال اجرا‬
‫‪-‬‬
‫*‬
‫تغییر شمای دیتابیس در حال اجرا در ‪sql‬‬
‫مسئول منابع‬
‫‪-‬‬
‫*‬
‫فراهم کردن حداقل و حداکثر محدودیت مدیریت منابع به منظور پایداری کارایی‬
‫‪Sql‬از سرورهای ثانویه به صورت همگام و ناهمگام پشتیبانی میکند تا در صورت ‪fail‬شدن یک سرور برنامه از کار نیافتد‬
‫‪Sql‬اجازه ی افزودن حافظه و پردازشگر را در حال اجرا میدهد‬
‫‪59‬‬
‫میزان سازی خودکار‬
‫‪-‬‬
‫*‬
‫خودکاره سازی میزان سازی و بهینه سازی دیتابیس و برداشتن بار این مسئولیت از دوش مدیر دیتابیس‬
‫عملیات آبشاری داده‬
‫*‬
‫*‬
‫‪-‬‬
‫*‬
‫حذف و یا به روزرسانی داده ها در جداول به هم مرتبط در صورت تغییر در جدول سطح باالتر‬
‫بهینه کردن کارایی نماها()‪Views‬‬
‫نماهای ایندکس شده‬
‫*‬
‫قابلیت داشتن چندین نمونه از "دیتابیس سرور" در یک سرور()‪Multiple Instances‬‬
‫*‬
‫*‬
‫قابلیت نمایش پیغامها و همچنین تاریخ و زمان و مبلغ و رشته و مرتب سازی آنها در زبان های مختلف‬
‫‪Stored Procedures‬‬
‫*‬
‫*‬
‫قابلیت کپسوله و فشرده سازی دستورات پیچیده درون یک پراسیجر و فراخوانی ان درون و خارج از محیط دیتابیس‬
‫‪Transactions‬‬
‫*‬
‫*‬
‫قابلیت در نظر گرفتن مجموعه ای از دستورات به عنوان یک فرایند کاری و اجرای همه ی ان دستورات یا هیچ کدام انها‬
‫‪Triggers‬‬
‫*‬
‫*‬
‫اطالع و عکس العمل براساس رویداد تعیین شده در دیتابیس برای مثال تغییر داده در یک جدول‬
‫توابع تعریف شده توسط کاربر‬
‫*‬
‫*‬
‫روش ساده سازی مسائل و دستورات پیچیده با تعریف تابع و برگرداندن نتیجه و مقدار‬
‫نوع داده تعریف شده توسط کاربر‬
‫‪-‬‬
‫*‬
‫قابلیت ایجاد انواع داده هایی که به صورت پیشفرض در دیتابیس موجود نیست و میتواند پاسخگوی نیازهای تجاری بیشتر باشد‬
‫نماها()‪Views‬‬
‫*‬
‫*‬
‫روشی برای خالصه کردن و مخلوط کردن سطرها و ستونها و استفاده از ان به عنوان یک جدول در دستورات ‪sql‬‬
‫الجیک ‪UPSERT‬‬
‫*‬
‫*‬
‫عملیات ‪UPSERT‬ترکیبی از عملیات درج و به روزرسانی توسط دستور ‪Merge‬‬
‫آبجکت ‪Sequence‬‬
‫‪-‬‬
‫*‬
‫شبیه به خصوصیت ‪ Identity‬برروی ستونها اما به جای بدست اوردن شماره ی بعدی از دیسک از حافظه استفاده میشود‪.‬‬
‫نمونه های متعدد‬
‫چند زبانه‬
‫قوائد()‪Rules‬‬
‫*‬
‫*‬
‫*‬
‫قابلیت جلوگیری و تعیین نوع داده ی ورودی معتبر در ستون موجود در جداول‬
‫*‬
‫*‬
‫*‬
‫بهینه سازی اجرای کوئری ها و عملیات ایندکس کردن‬
‫دسترسی کوئری ها به داده ها در منابع نامتناجنس مختلف‬
‫دسترسی ‪Sql‬به جداول موجود در منابع نامتناجنس مختلف‬
‫کوئری موازی‬
‫‪Distributed Federated Query‬‬
‫اتصاالت دیتبایس‬
‫‪+‬‬
‫‬‫‪-‬‬
‫ذخیره سازی داده های نوع ‪XML‬به عنوان یک نوع داخلی که قابلیت استفاده از تکنولوژی هایی مانند ‪XQuery‬را فراهم می سازد‬
‫پشتیبانی از ‪XML‬و پردازش آن‬
‫‪+‬‬
‫*‬
‫تنها نسخه ی ‪Express‬نرم افزار ‪Sql‬رایگان می باشد‬
‫دسترسی به صورت رایگان‬
‫*‬
‫‪+‬‬
‫پشتیبانی از سیستم عاملهای مختلف‬
‫*‬
‫‪-‬‬
‫استراتژی ذخیره چندیدن سطر‬
‫‪Service Broker‬‬
‫جستجوی نوع ‪Full-Text‬‬
‫جداول ایندکس شده ی سازماندهی شده‬
‫ایندکس های فیلتر شده‬
‫*‬
‫*‬
‫‬‫*‬
‫*‬
‫‪-‬‬
‫*‬
‫*‬
‫*‬
‫*‬
‫ذخیره سازی داده به روشی با اطمینان و کارایی و سرعت بیشتر در محیطهایی که فعل و انفعاالت باال قابل انجام هست‬
‫قابلیت ارتباط با چندین برنامه به صورت ناهمگام()‪Asynchronous‬‬
‫دسته بندی داده در یک ستون رشته ای به منظور کوئری راحت تر‬
‫استفاده از ایندکس های خوشه ای برروی کلید پرایمری به صورت پیشفرض‬
‫قابلیت فراهم کردن لوک اپی به زیرمجموعه های داده با کارایی باال‬
‫ستونهای محاسباتی‬
‫‪-‬‬
‫*‬
‫با توجه به دستوراتی که در ان میتوان از داده های ستون های دیگر در همان جدول استفاده کرد ستونهای محاسباتی شکل میگیرد‬
‫جدول فایل‬
‫‪-‬‬
‫*‬
‫نوع داده ی سلسله مراتبی‬
‫‪XEvents‬‬
‫‬‫‪-‬‬
‫*‬
‫قابلیت ذخیره سازی فایلهای برنامه های ویندوزی در ‪Sql‬‬
‫‪CLR Integration‬‬
‫‪-‬‬
‫*‬
‫دیتابیس ایمیل ادقام شده‬
‫‪-‬‬
‫*‬
‫*‬
‫‪MySql‬برروی ‪Unix,Linux‬و همچنین ویندوز اجرا خواهد شد ولی ‪Sql‬تنها در ویندوز قابل استفاده خواهد بود‬
‫ذخیره سازی و کوئری راحت تر در بین داده های سلسه مراتبی()‪Hierarchical‬‬
‫سیستم کلی هندل کردن رویدادها برای ‪Sql‬و ویندوز سرور‬
‫‪CLR‬های هاست شده برروی ‪Sql‬اجازه ی مدیریت و دسترسی به ‪stored procedure‬ها‪trigger ،‬ها و برخی موارد دیگر را کدهای مدیریت شده خواهد داد‪.‬‬
‫فراهم کردن ارسال دسته ای ایمیل ها از دیتابیس های ‪Sql‬‬
‫‪60‬‬
‫امنیت ‪Security‬‬
‫ویژگی‪/‬قابلیت‬
‫‪MySql 5.5‬‬
‫‪Sql 2012‬‬
‫توضیحات‬
‫پشتیبانی از ‪Active Directory‬‬
‫‪-‬‬
‫*‬
‫به منظور پشتیبانی از ‪AD‬هردو برنامه با استفاده از ابراز هویت ‪Kerberos‬میتوانند از ‪AD‬استفاده کنند‬
‫‪Role-Based‬‬
‫‪-‬‬
‫*‬
‫استفاده از نقشها و قرار دادن کاربران درون آن و تخصیص مجوزها به این نقشها‬
‫رمزگذاری ‪SSL‬‬
‫*‬
‫*‬
‫رمزگذاری کردن ارتباطات ‪TCP/IP‬به دیتابیس به منظور امنیت بیشتر‬
‫امنیت ‪Stored Procedure‬ها‬
‫‪-‬‬
‫*‬
‫امکان تخصیص مجوز به ‪Stored Procedure‬ها‬
‫امنیت جداول‬
‫امنیت نماها‬
‫*‬
‫*‬
‫*‬
‫*‬
‫امکان تخصیص مجوز به جداول‬
‫امکان تخصیص مجوز به نماها‬
‫حسابرسی()‪Auditing‬‬
‫‪-‬‬
‫*‬
‫امکانات حسابرسی ذاتی و داخلی در ‪sql‬‬
‫‪Transparent Data‬‬
‫‪Encryption‬‬
‫‪-‬‬
‫*‬
‫پشتیبانی از رمزگذاری و رمزنگاری بالدرنگ داده ها و الگ ها‬
‫‪Centralized Key‬‬
‫‪Management‬‬
‫‪-‬‬
‫*‬
‫ذخیره سازی رمزگذاری شده ی کلیدها در دستگاههای سخت افزاری ماژول های امنیتی‬
‫نتیجه گیری مقایسه ‪ SQL Server2012‬با ‪: MySql 5.5‬‬
‫برنامه ی ‪Sql Server 2012‬از تمام جهات دارای برتری نسبت به ‪MySql‬می باشد‪ .‬همچنین در تمامی دسته بندی های انجام شده‬
‫دارای امکانات و مزیت های بیشتری می باشد‪ .‬بنابراین ‪Sql‬انتخابی کامال واضح و مشخص برای تمامی جنبه های تجاری و انواع مختلف‬
‫برنامه ها و اپلیکیشن ها می باشد مخصوصا مواردی که بسیار حساس می باشند‪.‬‬
‫‪61‬‬
‫فهرست مباحث‬
‫‪–1‬آشنایی مختصر با نحوه ی شکل گیری و توسعه‬
‫‪–2‬اهداف و کاربردهای ‪SQL Server‬‬
‫‪–3‬روش نصب ‪ ،‬محیط و مدل های مورد استفاده‬
‫‪–4‬لیست کلیه امکانات قابل ارائه ‪SQL Server‬‬
‫‪–5‬مزایا و معایب ‪ SQL Server‬و مقایسه‬

similar documents