SQL Server - آزمایشگاه پایگاه داده ها
Download
Report
Transcript SQL Server - آزمایشگاه پایگاه داده ها
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-0213
1.0.3705.0
1.0
v1.0
Windows Server 2003
Visual Studio .NET
2003
2003-0424
1.1.4322.573
1.1
N/A
Windows Server 2003
R2
Visual Studio 2005
2005-1107
2.0.50727.42
2.0
v2.0
Windows Vista,
Windows Server 2008
Expression Blend
2006-1106
3.0.4506.30
v2.0, v3.0
Windows 7,
Windows Server 2008
R2
Visual Studio 2008
2007-1119
3.5.21022.8
3.5
N/A
N/A
Visual Studio 2010
2010-0412
4.0.30319.1
4.0
v4.0
Windows 8,
Windows Server 2012
Visual Studio 2012
2012-0815
4.5.50709.179
29
4.5
v4.0, v4.5
Windows 8.1,
Windows Server 2012
R2
Visual Studio 2013
2013-1017
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و مقایسه