13
آموزشMicrosoft SQL م افزار نرMSSQL ندوز می باشد. وی عامل هاییستمه داده در س مدیریت پایگابردکارهای پرم افزارکی از نر یر در سال نرم افزاسخه این ن اولین9191 به نامسخه آن ن و آخرینSQL Server 2014 در سال1094 منتشر شد.Login : در صورتی کهMS-SQL به صورتlocal امرسی به تم. برای دست می باشدdatabase ز نام توانید ا میبری کارsa از و یاWindows Authentication را به زیرلدهاید فیین حالت شما بای. در ایدستفاده نمای اید:رد نمایت زیر وا صورتصال بهورتی که قصد ا در صSql Server در قسمترید، شما باید از راه دور را داServer name پنجرهتصال، اip وport د کرده و را وارد نظرر مور سرو در قسمتAuthentication گزینهSQL Server Authentication نتخاب و را ا ازusername وpassword متصل بهdatabase برایremote ید.ستفاده نمای اDefault Databases: درMSSQL database ی هایجود داردت پیش فرض و به صوروانا به عن از آن ه کهSystem Database رتند از :یس ها عباین دیتاب برده می شود. ا نامmaster ، model ، msdb ، tempdb

Microsoft SQL شومآ MSSQL · 2014. 2. 19. · Microsoft SQL شومآ.شاب یم ونیو یاه لماع متسیس ها هاگیاپ تییم { باکپ یاهازفا من ا

  • Upload
    others

  • View
    14

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Microsoft SQL شومآ MSSQL · 2014. 2. 19. · Microsoft SQL شومآ.شاب یم ونیو یاه لماع متسیس ها هاگیاپ تییم { باکپ یاهازفا من ا

Microsoft SQLآموزش

یکی از نرم افزارهای پرکاربرد مدیریت پایگاه داده در سیستم عامل های ویندوز می باشد. MSSQLنرم افزار

منتشر 1094در سال SQL Server 2014و آخرین نسخه آن به نام 9191اولین نسخه این نرم افزار در سال

شد.

Login:

می توانید از نام databaseمی باشد. برای دسترسی به تمام localبه صورت MS-SQLدر صورتی که

استفاده نمایید. در این حالت شما باید فیلدهای زیر را به Windows Authentication و یا از sa کاربری

صورت زیر وارد نمایید:

پنجره Server nameاز راه دور را دارید، شما باید در قسمت Sql Serverدر صورتی که قصد اتصال به

SQL Serverگزینه Authenticationدر قسمت سرور مورد نظر را وارد کرده و portو ipاتصال،

Authentication از را انتخاب وusername وpassword متصل بهdatabase برایremote

استفاده نمایید.

Default Databases:

System Databaseکه از آن ها به عنوان به صورت پیش فرض وجود دارد هاییMSSQL databaseدر

master،model،msdb،tempdbنام برده می شود. این دیتابیس ها عبارتند از :

Page 2: Microsoft SQL شومآ MSSQL · 2014. 2. 19. · Microsoft SQL شومآ.شاب یم ونیو یاه لماع متسیس ها هاگیاپ تییم { باکپ یاهازفا من ا

:MSSQLتنظیمات کلی

کلیک راست کرده و object Explorerجعبه ابزار در SQL Serverکلی، بر روی optionبرای دسترسی به

یک سری اطالعات مربوط به سرور و Generalرا انتخاب نمایید. در پنجره جدید در برگه propertiesگزینه

یک سری اطالعات و مجوزهای Memoryبرگه را مشاهده نمایید. در SQL Serverنسخه نصب شده

cpuاز coreشما می توانید نسبت وابستگی هر Processorsوجود دارد. در برگه queryدسترسی برای هر

را مشخص نمایید. threadرا نسبت به هم و تعداد

را تعیین sql serverمی توان نحوه دسترسی به server Authenticationدر قسمت securityدر برگه

می باشد. sql server and windows authentication modeکرد که گزینه پیش فرض آن

برای هربار ورود با خطا، ورود بدون مشکل و یا هر دو باهم را logمی توان login auditingدر قسمت

مشخص کرد.

را مدیریت کرد این مقدار به صورت پیش sql serverمی توان تعداد اتصااالت به connectionدر برگه

می باشد. unlimitedفرض

Page 3: Microsoft SQL شومآ MSSQL · 2014. 2. 19. · Microsoft SQL شومآ.شاب یم ونیو یاه لماع متسیس ها هاگیاپ تییم { باکپ یاهازفا من ا

سرور وجود دارد و می های موجود در databaseهای userامکان دسترسی به تمام permissionدر برگه

توان دسترسی های آن را تغییر داد.

:MSSQLفعال، غیرفعال و یا راه اندازی مجدد سرویس

چند روش وجود دارد: rebootبرای

را انتخاب کرد. restartبر روی سرور مود نظر کلیک راست کرده، گزینه MSSQLدر داخل .9

Page 4: Microsoft SQL شومآ MSSQL · 2014. 2. 19. · Microsoft SQL شومآ.شاب یم ونیو یاه لماع متسیس ها هاگیاپ تییم { باکپ یاهازفا من ا

کرد. restartرا SQL Serverمی توان سرویس service consoleدر داخل .1

دستور زیر را اجرا کرد: Runدر برنامه .3

Net Stop mssqlserver و

Net Start mssqlserver

Page 5: Microsoft SQL شومآ MSSQL · 2014. 2. 19. · Microsoft SQL شومآ.شاب یم ونیو یاه لماع متسیس ها هاگیاپ تییم { باکپ یاهازفا من ا

ایجاد دیتابیس:

کلیک راست databasesپوشه بر روی Object Explorerبرای ایجاد دیتابیس بر روی پوشه در قسمت

نامی Generalدر برگه New Databaseرا انتخاب می نماییم. در پنجره new Databaseکرده و گزینه

می توانید حجم مورد نظر و مسیر قرارگیری را برای database filesرا برای دیتابیس انتخاب و در قسمت

مشخص نمایید. LDFو MDFفایل

:Backupطریقه

و ... بر table ،view ،Store procedureشامل databaseاز کلیه محتوای یک backupبرای ایجاد

را انتخاب می کنیم. در backupگزینه Tasksروی دیتابیس مورد نظر کلیک راست نموده و از زیرمنوی

را مشخص نمایید. backupمی توانید نوع generalدر برگه backup databaseپنجره

Full backup :backup کامل شامل تمام محتوای دیتابیس ای

Differential Backup: نوع این مکانیزم backup آخرین اساس بر full backup یعنی ، است شده گرفته

آخرین به نیاز ،restore و برای کند می ذخیره را گیرد می صورت آپ بک فول آخرین از بعد که تغییری هر

.دارید diff آخرین و آپ بک فول

می توانید در backupپس از وارد کردن نام backup setدر قسمت backup databaseدر پنجره

مسیر مورد نظر را اضافه نمایید.)حتما این نکته را در نظر بگیرید که مسیر مشخص شده destinationقسمت

Page 6: Microsoft SQL شومآ MSSQL · 2014. 2. 19. · Microsoft SQL شومآ.شاب یم ونیو یاه لماع متسیس ها هاگیاپ تییم { باکپ یاهازفا من ا

شما می توانید بر روی فایل optionدر برگه باشد(. Permisionدارای MSSQLUSERنام کاربری توسط

backup جدید را در کنارbackup های قبلی اضافه و یاoverwite .نمایید

Page 7: Microsoft SQL شومآ MSSQL · 2014. 2. 19. · Microsoft SQL شومآ.شاب یم ونیو یاه لماع متسیس ها هاگیاپ تییم { باکپ یاهازفا من ا

Restoration:

را restore ،databaseگزینه tasksبرروی دیتابیس کلیک راست، از زیرمنوی backupبرای بازگردانی

sourceشما می توانید از دو نوع Generalدر برگه restore databaseانتخاب می نماییم. در پنجره

زگردانی وجود دارد.برای با

از طریق دیتابیس .9

backupاز طریق فایل .1

Overwrite theتیک مربوط به dataکردن overwriteبرای restoreدر هنگام optionدر برگه

existing database (with Replace) .را بزنید

Page 8: Microsoft SQL شومآ MSSQL · 2014. 2. 19. · Microsoft SQL شومآ.شاب یم ونیو یاه لماع متسیس ها هاگیاپ تییم { باکپ یاهازفا من ا

Shrink Database:

ها، حجم دیتابیس افزایش می یابد. برای کاهش این فضا باید دیتابیس را logبرخی اوقات به دلیل افزایش

shrink نماییم. برای این منظور بر روی دیتابیس کلیک راست، از زیر منویtask گزینهshrink ،

database .را انتخاب می نماییم

و میزان فضا باقیمانده را مشاهده نمایید. database، می توانید حجم کل shrink databaseدر پنجره

اجرا می شود. برای اینکه این عملیات به صورت خودکار انجام شود. shrinkعملیات okبا انتخاب گزینه

قرار می Trueرا Auto Shrinkفیلد مربوط به optionدر برگه Database Propertiesدر پنجره

دهیم.

SQL Serverگاه داده های امنیت اطالعات در مدیریت پای

:سیستم به ورود در امنیت

نام روی بر راست سمت کلیک با کنید،می تعریف SQL Server در را جدید اطالعاتی بانک یک که زمانی

، security زبانه در ،Properties قسمت انتخاب و Object Explorer در سرور یک داده پایگاه موتور

به ورود برای مجاز کاربران شناسایی یا و معرفی در مختلف روش دو انتخاب امکان اطالعاتی بانک موتور

ساخت از بعد البته. دهدمی قرار دسترس در را (Authentication) هویت احراز عمل همان یا سیستم

Page 9: Microsoft SQL شومآ MSSQL · 2014. 2. 19. · Microsoft SQL شومآ.شاب یم ونیو یاه لماع متسیس ها هاگیاپ تییم { باکپ یاهازفا من ا

سپس و Properties گزینه انتخاب و بانک آن نام روی بر راست سمت کلیک با اطالعاتی، بانک یک

security داد تغییر را استفاده مورد روش توانمی هم.

بنا سرور 2008 ویندوز اکتیودایرکتوری با داده پایگاه این موتور ارتباط برمبنای که روش دو این از یکی

در شده تعریف قبل از کاربران تا شودمی باعث دارد، نام Windows Authentication و است شده

صورت این در. شوند شناخته رسمیت به سرور، 2008 ویندوز بر مبتنی شبکه یک (Domain) دامنه

از تواندمی مذکور کاربر و ندارد وجود نفر یک برای کاربری نام دو انتخاب یا و جدید کاربر معرفی به نیازی

به اتصال برای کند،می استفاده خود ویندوزی شبکه دامنه به ورود برای که عبوری رمز و کاربری نام همان

.کند استفاده هم اطالعاتی بانک

. گیردمی صورت ویندوزیدامنه محدوده از خارج سیستمی با کاربران به دسترسی مجوز ارایه دوم، روش در

و کاربری نام دارند، را بانک به اتصال قصد که کاربرانی کلیه برای است مجبور سیستم مدیر صورتبدین

.کند تعریف را جدیدی رمزعبور

:کاربران تعریف

همراه به را کاربران از لیستی ابتدا باید باشید، کرده انتخاب را کاربران تعریف دوم شیوه که صورتی در

با کار این. کنید معرفی شده، مشخص Security عنوان با که Object Explorer نوار ابزار در رمزعبور

Page 10: Microsoft SQL شومآ MSSQL · 2014. 2. 19. · Microsoft SQL شومآ.شاب یم ونیو یاه لماع متسیس ها هاگیاپ تییم { باکپ یاهازفا من ا

انتخاب. گیردمی انجام new login سپس و مذکور قسمت در Logins گزینه روی بر راست سمت کلیک

طوربه کاربر یک تا گیرد انجام جا این در باید که است کاری تنها رمزعبور ورود همراه به کاربری نام یک

.گیرد قرار داده پایگاده موتور یک کاربران لیست در عمومی

هایبانک به ،security قسمت در شده تعریف کاربران دسترسی تعیین سیستم مدیر وظیفه بعد، به این از

.است پایگاه در شده تعریف مختلف

قسمت همان طریق از اطالعاتی بانک هر به دسترسی اول، روش در. است انجام قابل طریق دو از نیز کاراین

security سمت کلیک اید،کرده تعریف قسمت این در که کاربری هر روی بر است کافی. گیردمی صورت

لیستی آن از پس. کنید انتخاب را Default DataBase سپس و properties گزینه ابتدا و کرده راست

انتخاب را موردنظر بانک باید که شودمی داده نمایش شما به پایگاه در موجود اطالعاتی هایبانک کلیه از

برای را نمایشی نام یک توانیدمی کار این از پس. دهید انجام را موردنظر کلیک Permit ستون در و کرده

.کنید تایپ user ستون در مربوطه کاربری نام

روی بر راست سمت کلیک با و رفته DataBases لیست در موردنظر اطالعاتی بانک سراغ به دوم، روش در

لیست درون از باید شده، داده نمایش پنجره در حال. کنیممی انتخاب را New User گزینه ،usersعبارت

Login name، قسمت در قبالً که را کاربرانی از یکی security نام و کرده انتخاب ایمکرده تعریف

در مذکور کاربر خودکار، صورتبه هم جااین در. کنید تایپ user name قسمت در هم را آن نمایشی

.گیردمی قرار اطالعاتی بانک آن برای Public کاربری گروه

Page 11: Microsoft SQL شومآ MSSQL · 2014. 2. 19. · Microsoft SQL شومآ.شاب یم ونیو یاه لماع متسیس ها هاگیاپ تییم { باکپ یاهازفا من ا

:(Roles) هانقش

تعریف کاربری گروه یک وقتی. داد قرار کاربری گروه یک در را کاربر چندین توانمی ،SQL Serverدر

گروه آن اعضاء که عملیاتی کلیه و اطالعاتی بانک یک مختلف هایقسمت به آن دسترسی شود،می

گروه آن به جدیدی کاربر هرگاه بعد به این از. گرددمی تعیین سیستم مدیر توسط دهند، انجام توانندمی

به دسترسی سطوح و ندارد وجود وی برای عملیاتی و دسترسی سطوح مجدد تعریف به نیازی شود، اضافه

تعدادی فرضپیش صورت به SQL Server در. شودمی اعطا جدید عضو به گروه طرف از خودکار صورت

مدیر توسط که کاربری هر. باشدمی مذکور کاربری هایگروه همان واقع در که دارد وجود (Role) نقش

. شودمی ظاهر public نقش در خودکار طور به شودمی اضافه کاربران جمع به سیستم

:از عبارتند هاآن عملیاتی قابلیت و دسترسی نحوه و شده تعریف پیش از هاینقش

9. db-accessadmin :امنیتی و دسترسی سطوح بود، خواهند قادر نقش این در شده تعریف کاربران

.کنند تعریف پایگاه مختلف هایقسمت در را هانقش و کاربران کلیه

1. db-backupoperator :آن درون اطالعات و سیستم از پشتیبان هاینسخه ایجاد ولمسئ نقش این

.است

3. db-datareader :سیستم در موجود اطالعاتی بانک جداول تمام اطالعات کلیه است قادر نقش این

.شود داشته نگاه دور او دسترس از Deny مکانیسم توسط خاصی اطالعات کهآن مگر. بخواند را

4. db-datawriter :بانک جداول کلیه در موجود اطالعات کلیه تا قادرند نقش این در شده تعریف افراد

فیلد یا جدول که آن مگر. دهند تغییر Insert ،UPdate ،Deleteگانهسه دستورات از استفاده با را

.شود داشته نگه دور شاندسترس از Deny مکانیسم توسط خاصی

5. db-ddladmin :بانک یک توابع و هاروتین دیدها، جداول، ساختار توانندمی نقش این دارای کاربران

.ببرند بین از یا دهند تغییر بسازند، ،Create ،alter ،Dropگانهسه دستورات از استفاده با را اطالعاتی

6. db-denydatareader :بانک هایقسمت سایر یا جداول از اطالعاتی هیچ خواندن به قادر نقش این

.نیست

7. db-denydatawriter :نیست عاتیاطال بانک هایقسمت از یک هیچ دادن تغییر به قادر نقش این.

9. db-owner :در موجود سطح باالترین و باشدمی اطالعاتیبانک در عملی هر انجام به قادر نقش این

.است بانک یک

1. db-securityadmin :است بانک یک در دسترسی سطوح و کاربران ها،نقش تنظیم و تعریف ولمسئ.

Page 12: Microsoft SQL شومآ MSSQL · 2014. 2. 19. · Microsoft SQL شومآ.شاب یم ونیو یاه لماع متسیس ها هاگیاپ تییم { باکپ یاهازفا من ا

90. Public :توسط یا خودشان توسط که هاییقسمت سایر و دیدها جداول، تمام قادرند نقش این کاربران

.بنویسند و بخوانند را شده ساخته dbowner نقش به متعلق کاربران

به. کند تعریف سیستم در را هایینقش تناسب، به تواندمی هم سیستم مدیر مذکور، هاینقش از غیر به اما

اسناد کردن وارد به موظف قسمت، آن عادی کارمندان حسابداری، واحد یک در که کنید فرض مثال عنوان

توسط نیز مالی مدیر. هستند بیسیک ویژوال برنامه یک از استفاده با اطالعاتیبانک جداول از یکی به مالی

کرده فراخوانی را (stored procedure) شده ذخیره روتین یک است قادر برنامه همان در موجود دکمه

بر. دارد را مذکور روتین اجرای حق مالی مدیر به مربوط کاربر فقط بنابراین. کند تأیید را شده وارد اسناد تا

(مالی مدیر) نام به را دیگری گروه و اسناد ورود برای را (حسابداران) نام به گروه یک پایگاه مدیر اصل همین

مذکور روتین اجرای اول، گروه برای و گیردمی نظر در وی احتمالی جانشینان و دپارتمان آن مدیریت برای

برای توانیدمی شما. دهدمی قرار (Allow) مجاز حالت در دوم، گروه برای و (Deny) ممنوع حالت در را

و New Role گزینه و کرده راست سمت کلیک Roles آیتم روی بر جدید، نقش یا گروه یک تعریف

را تانشده تعریف قبل از کاربران Add دکمه روی بر کلیک با گاهآن و کرده انتخاب را دلخواه نام یک سپس

نقش یا گروه چند جزء تواندمی کاربر هر که است ذکر شایان. نمایید اضافه گروه آن جمع به یک به یک

و دسترسی ،(Permission) مجوز دکمه روی بر کلیک با مذکور پنجره همان در باید ادامه در. باشد

.کنید تعریف هم را گروه آن عملیاتی قابلیت

: مجوزها انواع

دیدها و اطالعاتی جداول .9

تعریف و حذف تغییر، درج، وجو،پرس انجام امکان توانیدمی شما اطالعاتی بانک جدول یک مورد در

گروه یک برای DRI و SELECT ،UPDATE ،DELETE هایستون در زدن متعال با ترتیب به را وابستگی

وضع را قواعدی فیلدها، تکتک روی بر بخواهید که صورتی در ضمن در. کنید غیرممکن یا ممکن کاربر، یا

عبارت یک در را فیلد آن آوردن امکان و کرده کلیک جدول هر Colums دکمه روی بر توانیدمی کنید

موردنظر کاربر یا گروه برای UPDATE عملیات یک در را فیلد آن تغییر امکان یا و (SELECT) وجوپرس

.است انجام قابل هم بانک یک(View) دیدهای برای عملیات همین که است ذکر به الزم. کنید مشخص

Page 13: Microsoft SQL شومآ MSSQL · 2014. 2. 19. · Microsoft SQL شومآ.شاب یم ونیو یاه لماع متسیس ها هاگیاپ تییم { باکپ یاهازفا من ا

توابع و هاروتین .1

و Exec نام به مجوز ستون یک فقط (User Defined Fonction) شدهتعریف توابع و هاروتین مورد در

. شودمی تنظیم سیستم مدیر توسط که دارد وجود استفاده عدم یا استفاده امکان معنی به هم آن

اساسی مجوزهای

SQL در شد، ذکر باال در که... و روتین اجرای تغییر، درج، جستجو، مثل سیستم عمومیعملیات از غیر به

server برخی به لزوم مواقع در فقط که شده گرفته نظر در خاص کاربردهای برای نیز ایویژه امکانات

،Northwind مثل سیستم در موجود اطالعاتی بانک هر نام روی بر اگر. شودمی اعطا هانقش یا کاربران

از لیستی Permission یعنی آخر زبانه در کنید، انتخاب را properties آیتم و کرده راست کلیک

به ستون 9 در و هاآن از یک هر نام جلوی در که کنیدمی مشاهده را سیستم در موجود کاربرهای و هانقش

از گیریپشتیبان توابع، قواعد، فرض،پیش مقادیر روتین، دید، جدول، ساخت امکان راست به چپ از ترتیب

مختلف هاینقش با کاربران به اعطا قابل خاصی مواقع در که دارد وجود هاالگ از گیریپشتیبان و اطالعات

گزارش یک تهیه امکان ساختنفراهم برای تا باشد داشته قصد نویسبرنامه اگر مثال عنوان به. باشدمی

بیسیک ویژوال برنامه هایفرم از یکی داخل از را CREATE VIEW دستور اجرای اجازه کاربری به پیچیده،

. نماید فعال کاربر، آن برای را Create View ستون وی تا نموده مطلع را پایگاه مدیر قبالً باید بدهد، خود

از و دارد وجود هم پیچیده عملیات سایر یا گزارش گرفتن برای موقت جداول ساخت جهت عمل همین

.است انجام قابل Create Table ستون طریق

Create Table مثل شودمی جدول ساخت باعث که دستوراتی از استفاده با تواندمی کاربر صورت این در

از پس و نموده ایجاد خود استفاده مورد بیسیک ویژوال برنامه توسط را موقتی جداول Select INTO یا

.نماید حذف را هاآن DROP دستور از استفاده با کار پایان