مديريت پايگاه داده ها در SQL Server - امنيت اطلاعات و عمليات :
مقوله امنيت همواره يكي از مهمترين شاخههاي مهندسي نرمافزار و به تبع آن، يكي از حساسترين وظايف مديران سيستم بهخصوص مديران شبكه و يا مديران بانكهاي اطلاعاتي است. با تنظيم سطوح دسترسي براي كاربران شبكه يا بانكهاي اطلاعاتي شبكه، امنيت اطلاعات يا به عبارتي عدم دسترسي افراد فاقد صلاحيت به اطلاعات، تضمين ميگردد. هر سيستمعامل، پلتفرم يا بانك اطلاعاتي، شيوههايي خاصي را براي برقراري قواعد امنيتي به كاربران معرفي مينمايد. در SQL Server هم روشهاي خاصي براي اين مقوله وجود دارد كه در اينجا به آنها ميپردازيم
مديريت پايگاه داده ها در SQL Server - امنيت اطلاعات و عمليات :
اشاره :
مقوله امنيت همواره يكي از مهمترين شاخههاي مهندسي نرمافزار و به تبع آن، يكي از حساسترين وظايف مديران سيستم بهخصوص مديران شبكه و يا مديران بانكهاي اطلاعاتي است. با تنظيم سطوح دسترسي براي كاربران شبكه يا بانكهاي اطلاعاتي شبكه، امنيت اطلاعات يا به عبارتي عدم دسترسي افراد فاقد صلاحيت به اطلاعات، تضمين ميگردد. هر سيستمعامل، پلتفرم يا بانك اطلاعاتي، شيوههايي خاصي را براي برقراري قواعد امنيتي به كاربران معرفي مينمايد. در SQL Server هم روشهاي خاصي براي اين مقوله وجود دارد كه در اينجا به آنها ميپردازيم
امنيت در ورود به سيستم:
زماني كه يك بانك اطلاعاتي جديد را در SQL Server تعريف ميكنيد، با كليك سمت راست بر روي نام موتور پايگاه دادهاي يك سرور درEnterprise Manager و انتخاب قسمت Properties، در زبانه security، موتور بانك اطلاعاتي امكان انتخاب دو روش مختلف در معرفي و يا شناسايي كاربران مجاز براي ورود به سيستم يا همان عمل احراز هويت (Authentication) را در دسترس قرار ميدهد. البته بعد از ساخت يك بانك اطلاعاتي، با كليك سمت راست بر روي نام آن بانك و انتخاب گزينه Properties و سپس security هم ميتوان روش مورد استفاده را تغيير داد. (شكل 1)
يكي از اين دو روش كه برمبناي ارتباط موتور اين پايگاه داده با اكتيودايركتوري ويندوز 2000 سرور بنا شده است و Windows only نام دارد، باعث ميشود تا كاربران از قبل تعريف شده در دامنه (Domain) يك شبكه مبتني بر ويندوز 2000 سرور، به رسميت شناخته شوند. در اين صورت نيازي به معرفي كاربر جديد و يا انتخاب دو نام كاربري براي يك نفر وجود ندارد و كاربر مذكور ميتواند از همان نام كاربري و رمز عبوري كه براي ورود به دامنه شبكه ويندوزي خود استفاده ميكند، براي اتصال به بانك اطلاعاتي هم استفاده كند.
در روش دوم، ارايه مجوز دسترسي به كاربران با سيستمي خارج از محدوده دامنهويندوزي صورت ميگيرد. بدينصورت مدير سيستم مجبور است براي كليه كاربراني كه قصد اتصال به بانك را دارند، نام كاربري و رمزعبور جديدي را تعريف كند.
(شكل 1)
تعريف كاربران:
در صورتي كه شيوه دوم تعريف كاربران را انتخاب كرده باشيد، بايد ابتدا ليستي از كاربران را به همراه رمزعبور
مربوطهشان در قسمتي از صفحه Enterprise Manager كه با عنوان Security مشخص شده، معرفي كنيد. اين كار با كليك سمت راست بر روي گزينه Login در قسمت مذكور و سپس new login انجام ميگيرد. انتخاب يك نام كاربري به همراه ورود رمزعبور تنها كاري است كه بايد در اين جا انجام گيرد تا يك كاربر بهطور عمومي در ليست كاربران يك موتور پايگاده داده قرار گيرد.
از اين به بعد، وظيفه مدير سيستم تعيين دسترسي كاربران تعريف شده در قسمت security، به بانكهاي مختلف تعريف شده در پايگاه است.
اينكار نيز از دو طريق قابل انجام است. در روش اول، دسترسي به هر بانك اطلاعاتي از طريق همان قسمت security صورت ميگيرد. كافي است بر روي هر كاربري كه در اين قسمت تعريف كردهايد، كليك سمت راست كرده و ابتدا گزينه خصوصيات و سپس زبانه DataBase Access را انتخاب كنيد. پس از آن ليستي از كليه بانكهاي اطلاعاتي موجود در پايگاه به شما نمايش داده ميشود كه بايد بانك موردنظر را انتخاب كرده و در ستون Permit كليك موردنظر را انجام دهيد. پس از اين كار ميتوانيد يك نام نمايشي را براي نام كاربري مربوطه در ستون user تايپ كنيد. در اينجا به عنوان مثال امكان دسترسي كاربر mda را به بانك Northwind فراهم نموده و نام نمايشي <مهيار داعيالحق> براي آن انتخاب شده است (شكل 2). همانطور كه مشاهده ميكنيد اين كاربر بهطور خودكار در گروه كاربري عمومي(public) بانك مذكور قرار داده ميشود.
(شكل 2)
در روش دوم، به سراغ بانك اطلاعاتي موردنظر در ليست DataBases رفته و با كليك سمت راست بر روي عبارتusers، گزينه New User را انتخاب ميكنيم. حال در پنجره نمايش داده شده، بايد از درون ليست Login name، يكي از كاربراني را كه قبلاً در قسمت security تعريف كردهايم انتخاب كرده و نام نمايشي آن را هم در قسمت user name تايپ كنيد. در اينجا هم بهصورت خودكار، كاربر مذكور در گروه كاربري Public براي آن بانك اطلاعاتي قرار ميگيرد. (شكل 3)
نقشها (Roles)
درSQL Server، ميتوان چندين كاربر را در يك گروه كاربري قرار داد. وقتي يك گروه كاربري تعريف ميشود، دسترسي آن به قسمتهاي مختلف يك بانك اطلاعاتي و كليه عملياتي كه اعضاء آن گروه ميتوانند انجام دهند، توسط مدير سيستم تعيين ميگردد. از اين به بعد هرگاه كاربر جديدي به آن گروه اضافه شود، نيازي به تعريف مجدد سطوح دسترسي و عملياتي براي وي وجود ندارد و سطوح دسترسي به صورت خودكار از طرف گروه به عضو جديد اعطا ميشود. درSQL Server بهصورت پيشفرض تعدادي نقش (Role) وجود دارد كه در واقع همان گروههاي كاربري مذكور ميباشد. هر كاربري كه توسط مدير سيستم به جمع كاربران اضافه ميشود به طور خودكار در نقش public ظاهر ميشود. نقشهاي از پيش تعريف شده و نحوه دسترسي و قابليت عملياتي آنها عبارت هستند از:
1- db-accessadmin
كاربران تعريف شده در اين نقش قادر خواهند بود، سطوح دسترسي و امنيتي كليه كاربران و نقشها را در قسمتهاي مختلف پايگاه تعريف كنند.
2- 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
اين نقش هم قادر به تغيير دادن هيچ يك از قسمتهاي بانك اطلاعاتي نيست.
8- db-owner
اين نقش قادر به انجام هر عملي در بانكاطلاعاتي ميباشد و بالاترين سطح موجود در يك بانك است.
9- db-securityadmin
مسؤول تعريف و تنظيم نقشها، كاربران و سطوح دسترسي در يك بانك است.
10- public
كاربران اين نقش قادرند تمام جداول، ديدها و ساير قسمتهايي كه توسط خودشان يا توسط كاربران متعلق به نقش dbowner ساخته شده را بخوانند و بنويسند.
شكل 4 |
اما به غير از نقشهاي مذكور، مدير سيستم هم ميتواند به تناسب، نقشهايي را در سيستم تعريف كند. به عنوان مثال فرض كنيد كه در يك واحد حسابداري، كارمندان عادي آن قسمت، موظف به وارد كردن اسناد مالي به يكي از جداول بانكاطلاعاتي با استفاده از يك برنامه ويژوال بيسيك هستند. مدير مالي نيز توسط دكمه موجود در همان برنامه قادر است يك روتين ذخيره شده (stored procedure) را فراخواني كرده تا اسناد وارد شده را تأييد كند. بنابراين فقط كاربر مربوط به مدير مالي حق اجراي روتين مذكور را دارد. برهمين اصل مدير پايگاه يك گروه به نام <حسابداران> را براي ورود اسناد و گروه ديگري را به نام <مدير مالي> براي مديريت آن دپارتمان و جانشينان احتمالي وي در نظر ميگيرد و براي گروه اول، اجراي روتين مذكور را در حالت ممنوع (Deny) و براي گروه دوم، در حالت مجاز (Allow) قرار ميدهد. شما ميتوانيد براي تعريف يك گروه يا نقش جديد، بر روي آيتم Roles كليك سمت راست كرده و گزينه New Role و سپس يك نام دلخواه را انتخاب كرده و آنگاه با كليك بر روي دكمه Add كاربران از قبل تعريف شدهتان را يك به يك به جمع آن گروه اضافه نماييد. شايان ذكر است كه هر كاربر ميتواند جزء چند گروه يا نقش باشد. در ادامه بايد در همان پنجره مذكور با كليك بر روي دكمه مجوز (Permission)، دسترسي و قابليت عملياتي آن گروه را هم تعريف كنيد. (شكل 4)
انواع مجوزها :
1- جداول اطلاعاتي و ديدها
شكل 5 |
در مورد يك جدول بانك اطلاعاتي شما ميتوانيد امكان انجام پرسوجو، درج، تغيير، حذف و تعريف وابستگي را به ترتيب با علامت زدن در ستونهاي SELECT ،UPDATE ،DELETE و DRI براي يك گروه يا كاربر، ممكن يا غيرممكن كنيد. در ضمن در صورتي كه بخواهيد بر روي تكتك فيلدها، قواعدي را وضع كنيد ميتوانيد بر روي دكمه Colums هر جدول كليك كرده و امكان آوردن آن فيلد را در يك عبارت پرسوجو (SELECT) و يا امكان تغيير آن فيلد را در يك عمليات UPDATE براي گروه يا كاربر موردنظر مشخص كنيد. (شكل 5) لازم به ذكر است كه همين عمليات براي ديدهاي
(View) يك بانك هم قابل انجام است.
شكل 6 |
2- روتينها و توابع
در مورد روتينها و توابع تعريفشده (User Defined Fonction) فقط يك ستون مجوز به نام Exec و آن هم به معني امكان استفاده يا عدم استفاده وجود دارد كه توسط مدير سيستم تنظيم ميشود. (شكل 6)
3- مجوزهاي اساسي
به غير از عملياتعمومي سيستم مثل جستجو، درج، تغيير، اجراي روتين و... كه در بالا ذكر شد، در SQL serverامكانات ويژهاي نيز براي كاربردهاي خاص در نظر گرفته شده كه فقط در مواقع لزوم به برخي كاربران يا نقشها اعطا ميشود. اگر بر روي نام هر بانك اطلاعاتي موجود در سيستم مثل Northwind، كليك راست كرده و آيتم خصوصيات را انتخاب كنيد، در زبانه آخر يعني Permission ليستي از نقشها و كاربرهاي موجود در سيستم را مشاهده ميكنيد كه در جلوي نام هر يك از
شكل 7 |
آنها و در 8 ستون به ترتيب از چپ به راست امكان ساخت جدول، ديد، روتين، مقادير پيشفرض، قواعد، توابع، پشتيبانگيري از اطلاعات و پشتيبانگيري از لاگها وجود دارد كه در مواقع خاصي قابل اعطا به كاربران با نقشهاي مختلف ميباشد. به عنوان مثال اگر برنامهنويس قصد داشته باشد تا براي فراهمساختن امكان تهيه يك گزارش پيچيده، به كاربري اجازه اجراي دستور CREATE VIEW را از داخل يكي از فرمهاي برنامه ويژوال بيسيك خود بدهد، بايد قبلاً مدير پايگاه را مطلع نموده تا وي ستون Create View را براي آن كاربر، فعال نمايد. همين عمل جهت ساخت جداول موقت براي گرفتن گزارش يا ساير عمليات پيچيده هم وجود دارد و از طريق ستون Create Table قابل انجام است.
در اين صورت كاربر ميتواند با استفاده از دستوراتي كه منتهي به ساخت جدول ميشود مثل Create Table يا Select INTO جداول موقتي را توسط برنامه ويژوال بيسيك مورد استفاده خود ايجاد نموده و پس از پايان كار با استفاده از دستور DROP آنها را حذف نمايد. (شكل 7 )
مديريت پايگاه داده ها در SQL Server - امنيت اطلاعات و عمليات :
اشاره :
مقوله امنيت همواره يكي از مهمترين شاخههاي مهندسي نرمافزار و به تبع آن، يكي از حساسترين وظايف مديران سيستم بهخصوص مديران شبكه و يا مديران بانكهاي اطلاعاتي است. با تنظيم سطوح دسترسي براي كاربران شبكه يا بانكهاي اطلاعاتي شبكه، امنيت اطلاعات يا به عبارتي عدم دسترسي افراد فاقد صلاحيت به اطلاعات، تضمين ميگردد. هر سيستمعامل، پلتفرم يا بانك اطلاعاتي، شيوههايي خاصي را براي برقراري قواعد امنيتي به كاربران معرفي مينمايد. در SQL Server هم روشهاي خاصي براي اين مقوله وجود دارد كه در اينجا به آنها ميپردازيم
امنيت در ورود به سيستم:
زماني كه يك بانك اطلاعاتي جديد را در SQL Server تعريف ميكنيد، با كليك سمت راست بر روي نام موتور پايگاه دادهاي يك سرور درEnterprise Manager و انتخاب قسمت Properties، در زبانه security، موتور بانك اطلاعاتي امكان انتخاب دو روش مختلف در معرفي و يا شناسايي كاربران مجاز براي ورود به سيستم يا همان عمل احراز هويت (Authentication) را در دسترس قرار ميدهد. البته بعد از ساخت يك بانك اطلاعاتي، با كليك سمت راست بر روي نام آن بانك و انتخاب گزينه Properties و سپس security هم ميتوان روش مورد استفاده را تغيير داد. (شكل 1)
يكي از اين دو روش كه برمبناي ارتباط موتور اين پايگاه داده با اكتيودايركتوري ويندوز 2000 سرور بنا شده است و Windows only نام دارد، باعث ميشود تا كاربران از قبل تعريف شده در دامنه (Domain) يك شبكه مبتني بر ويندوز 2000 سرور، به رسميت شناخته شوند. در اين صورت نيازي به معرفي كاربر جديد و يا انتخاب دو نام كاربري براي يك نفر وجود ندارد و كاربر مذكور ميتواند از همان نام كاربري و رمز عبوري كه براي ورود به دامنه شبكه ويندوزي خود استفاده ميكند، براي اتصال به بانك اطلاعاتي هم استفاده كند.
در روش دوم، ارايه مجوز دسترسي به كاربران با سيستمي خارج از محدوده دامنهويندوزي صورت ميگيرد. بدينصورت مدير سيستم مجبور است براي كليه كاربراني كه قصد اتصال به بانك را دارند، نام كاربري و رمزعبور جديدي را تعريف كند.
(شكل 1)
تعريف كاربران:
در صورتي كه شيوه دوم تعريف كاربران را انتخاب كرده باشيد، بايد ابتدا ليستي از كاربران را به همراه رمزعبور
مربوطهشان در قسمتي از صفحه Enterprise Manager كه با عنوان Security مشخص شده، معرفي كنيد. اين كار با كليك سمت راست بر روي گزينه Login در قسمت مذكور و سپس new login انجام ميگيرد. انتخاب يك نام كاربري به همراه ورود رمزعبور تنها كاري است كه بايد در اين جا انجام گيرد تا يك كاربر بهطور عمومي در ليست كاربران يك موتور پايگاده داده قرار گيرد.
از اين به بعد، وظيفه مدير سيستم تعيين دسترسي كاربران تعريف شده در قسمت security، به بانكهاي مختلف تعريف شده در پايگاه است.
اينكار نيز از دو طريق قابل انجام است. در روش اول، دسترسي به هر بانك اطلاعاتي از طريق همان قسمت security صورت ميگيرد. كافي است بر روي هر كاربري كه در اين قسمت تعريف كردهايد، كليك سمت راست كرده و ابتدا گزينه خصوصيات و سپس زبانه DataBase Access را انتخاب كنيد. پس از آن ليستي از كليه بانكهاي اطلاعاتي موجود در پايگاه به شما نمايش داده ميشود كه بايد بانك موردنظر را انتخاب كرده و در ستون Permit كليك موردنظر را انجام دهيد. پس از اين كار ميتوانيد يك نام نمايشي را براي نام كاربري مربوطه در ستون user تايپ كنيد. در اينجا به عنوان مثال امكان دسترسي كاربر mda را به بانك Northwind فراهم نموده و نام نمايشي <مهيار داعيالحق> براي آن انتخاب شده است (شكل 2). همانطور كه مشاهده ميكنيد اين كاربر بهطور خودكار در گروه كاربري عمومي(public) بانك مذكور قرار داده ميشود.
(شكل 2)
در روش دوم، به سراغ بانك اطلاعاتي موردنظر در ليست DataBases رفته و با كليك سمت راست بر روي عبارتusers، گزينه New User را انتخاب ميكنيم. حال در پنجره نمايش داده شده، بايد از درون ليست Login name، يكي از كاربراني را كه قبلاً در قسمت security تعريف كردهايم انتخاب كرده و نام نمايشي آن را هم در قسمت user name تايپ كنيد. در اينجا هم بهصورت خودكار، كاربر مذكور در گروه كاربري Public براي آن بانك اطلاعاتي قرار ميگيرد. (شكل 3)
نقشها (Roles)
درSQL Server، ميتوان چندين كاربر را در يك گروه كاربري قرار داد. وقتي يك گروه كاربري تعريف ميشود، دسترسي آن به قسمتهاي مختلف يك بانك اطلاعاتي و كليه عملياتي كه اعضاء آن گروه ميتوانند انجام دهند، توسط مدير سيستم تعيين ميگردد. از اين به بعد هرگاه كاربر جديدي به آن گروه اضافه شود، نيازي به تعريف مجدد سطوح دسترسي و عملياتي براي وي وجود ندارد و سطوح دسترسي به صورت خودكار از طرف گروه به عضو جديد اعطا ميشود. درSQL Server بهصورت پيشفرض تعدادي نقش (Role) وجود دارد كه در واقع همان گروههاي كاربري مذكور ميباشد. هر كاربري كه توسط مدير سيستم به جمع كاربران اضافه ميشود به طور خودكار در نقش public ظاهر ميشود. نقشهاي از پيش تعريف شده و نحوه دسترسي و قابليت عملياتي آنها عبارت هستند از:
1- db-accessadmin
كاربران تعريف شده در اين نقش قادر خواهند بود، سطوح دسترسي و امنيتي كليه كاربران و نقشها را در قسمتهاي مختلف پايگاه تعريف كنند.
2- 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
اين نقش هم قادر به تغيير دادن هيچ يك از قسمتهاي بانك اطلاعاتي نيست.
8- db-owner
اين نقش قادر به انجام هر عملي در بانكاطلاعاتي ميباشد و بالاترين سطح موجود در يك بانك است.
9- db-securityadmin
مسؤول تعريف و تنظيم نقشها، كاربران و سطوح دسترسي در يك بانك است.
10- public
كاربران اين نقش قادرند تمام جداول، ديدها و ساير قسمتهايي كه توسط خودشان يا توسط كاربران متعلق به نقش dbowner ساخته شده را بخوانند و بنويسند.
شكل 4 |
اما به غير از نقشهاي مذكور، مدير سيستم هم ميتواند به تناسب، نقشهايي را در سيستم تعريف كند. به عنوان مثال فرض كنيد كه در يك واحد حسابداري، كارمندان عادي آن قسمت، موظف به وارد كردن اسناد مالي به يكي از جداول بانكاطلاعاتي با استفاده از يك برنامه ويژوال بيسيك هستند. مدير مالي نيز توسط دكمه موجود در همان برنامه قادر است يك روتين ذخيره شده (stored procedure) را فراخواني كرده تا اسناد وارد شده را تأييد كند. بنابراين فقط كاربر مربوط به مدير مالي حق اجراي روتين مذكور را دارد. برهمين اصل مدير پايگاه يك گروه به نام <حسابداران> را براي ورود اسناد و گروه ديگري را به نام <مدير مالي> براي مديريت آن دپارتمان و جانشينان احتمالي وي در نظر ميگيرد و براي گروه اول، اجراي روتين مذكور را در حالت ممنوع (Deny) و براي گروه دوم، در حالت مجاز (Allow) قرار ميدهد. شما ميتوانيد براي تعريف يك گروه يا نقش جديد، بر روي آيتم Roles كليك سمت راست كرده و گزينه New Role و سپس يك نام دلخواه را انتخاب كرده و آنگاه با كليك بر روي دكمه Add كاربران از قبل تعريف شدهتان را يك به يك به جمع آن گروه اضافه نماييد. شايان ذكر است كه هر كاربر ميتواند جزء چند گروه يا نقش باشد. در ادامه بايد در همان پنجره مذكور با كليك بر روي دكمه مجوز (Permission)، دسترسي و قابليت عملياتي آن گروه را هم تعريف كنيد. (شكل 4)
انواع مجوزها :
1- جداول اطلاعاتي و ديدها
شكل 5 |
در مورد يك جدول بانك اطلاعاتي شما ميتوانيد امكان انجام پرسوجو، درج، تغيير، حذف و تعريف وابستگي را به ترتيب با علامت زدن در ستونهاي SELECT ،UPDATE ،DELETE و DRI براي يك گروه يا كاربر، ممكن يا غيرممكن كنيد. در ضمن در صورتي كه بخواهيد بر روي تكتك فيلدها، قواعدي را وضع كنيد ميتوانيد بر روي دكمه Colums هر جدول كليك كرده و امكان آوردن آن فيلد را در يك عبارت پرسوجو (SELECT) و يا امكان تغيير آن فيلد را در يك عمليات UPDATE براي گروه يا كاربر موردنظر مشخص كنيد. (شكل 5) لازم به ذكر است كه همين عمليات براي ديدهاي
(View) يك بانك هم قابل انجام است.
شكل 6 |
2- روتينها و توابع
در مورد روتينها و توابع تعريفشده (User Defined Fonction) فقط يك ستون مجوز به نام Exec و آن هم به معني امكان استفاده يا عدم استفاده وجود دارد كه توسط مدير سيستم تنظيم ميشود. (شكل 6)
3- مجوزهاي اساسي
به غير از عملياتعمومي سيستم مثل جستجو، درج، تغيير، اجراي روتين و... كه در بالا ذكر شد، در SQL serverامكانات ويژهاي نيز براي كاربردهاي خاص در نظر گرفته شده كه فقط در مواقع لزوم به برخي كاربران يا نقشها اعطا ميشود. اگر بر روي نام هر بانك اطلاعاتي موجود در سيستم مثل Northwind، كليك راست كرده و آيتم خصوصيات را انتخاب كنيد، در زبانه آخر يعني Permission ليستي از نقشها و كاربرهاي موجود در سيستم را مشاهده ميكنيد كه در جلوي نام هر يك از
شكل 7 |
آنها و در 8 ستون به ترتيب از چپ به راست امكان ساخت جدول، ديد، روتين، مقادير پيشفرض، قواعد، توابع، پشتيبانگيري از اطلاعات و پشتيبانگيري از لاگها وجود دارد كه در مواقع خاصي قابل اعطا به كاربران با نقشهاي مختلف ميباشد. به عنوان مثال اگر برنامهنويس قصد داشته باشد تا براي فراهمساختن امكان تهيه يك گزارش پيچيده، به كاربري اجازه اجراي دستور CREATE VIEW را از داخل يكي از فرمهاي برنامه ويژوال بيسيك خود بدهد، بايد قبلاً مدير پايگاه را مطلع نموده تا وي ستون Create View را براي آن كاربر، فعال نمايد. همين عمل جهت ساخت جداول موقت براي گرفتن گزارش يا ساير عمليات پيچيده هم وجود دارد و از طريق ستون Create Table قابل انجام است.
در اين صورت كاربر ميتواند با استفاده از دستوراتي كه منتهي به ساخت جدول ميشود مثل Create Table يا Select INTO جداول موقتي را توسط برنامه ويژوال بيسيك مورد استفاده خود ايجاد نموده و پس از پايان كار با استفاده از دستور DROP آنها را حذف نمايد. (شكل 7 )