Как да използвате ролите на SQL Server

Kak Da Izpolzvate Rolite Na Sql Server



Използването на SQL Server е да съхранява, извлича и манипулира данните. Една от ключовите характеристики на SQL Server е способността му да предоставя и управлява разрешения на различни потребители и групи. Ролите на SQL Server са мощен инструмент, който позволява на администраторите на бази данни да присвояват набор от разрешения на група потребители с подобни нужди.

Тази статия предоставя ръководство за това как да използвате ролите на SQL Server, включително преглед на различните видове налични роли, примери за това как да присвоите тези роли на потребителите и съвети как да управлявате тези роли.







Какво представляват SQL ролите?

Ролите позволяват на DBA да управлява разрешенията по-ефективно. Първо трябва да създадем ролите. След това присвояваме разрешенията на ролите и съответно добавяме данните за вход към ролите.



SQL Server поддържа основно два типа роли:



  • Фиксирани сървърни роли: Тези роли вече имат предварително дефиниран набор от разрешения.
  • Дефинирани от потребителя сървърни роли: Тези роли могат да се променят, за да отговарят на изискванията на вашата организация.

Видове роли на SQL Server

SQL Server предоставя няколко вградени роли, които могат да се използват за присвояване на разрешения на потребителите. Ето някои от най-често срещаните роли и съответните им разрешения:





  • групов администратор: Членовете на фиксираната сървърна роля на bulkadmin могат да изпълнят оператора „BULK INSERT“.
  • системен администратор: Тази роля има най-високото ниво на разрешения и може да извършва всяко действие върху екземпляра на SQL Server, включително създаване, модифициране и изтриване на базите данни и влизанията.
  • администратор на сървъра: Тази роля може да конфигурира настройките на ниво сървър, като разпределяне на памет и мрежови протоколи, но не може да променя базите данни.
  • администратор на сигурността: Тази роля може да управлява влизанията и техните разрешения, включително създаване и модифициране на влизания, роли и пароли.
  • администратор на процеси: Фиксираната сървърна роля на processadmin предоставя на своите членове възможността да прекратяват или спират процесите, които се изпълняват в момента в рамките на екземпляр на SQL Server Database Engine.
  • dbcreator : Това има разрешенията за създаване, модифициране и премахване на базите данни, но не притежава правомощията да изпълнява други административни задължения.
  • администратор на диска: Тази роля може да управлява дисковите файлове като създаване и изтриване на файлове и добавяне или премахване на дискове.
  • четец на данни: Ролята на четеца на данни има способността да осъществява достъп и да чете цялата информация, която се съхранява в потребителските таблици на база данни.
  • запис на данни: Ролята на писател на данни притежава правомощията да вмъква, актуализира и изтрива данните от всички потребителски таблици в базата данни.
  • ddadmin: Тази роля може да създава, модифицира и премахва DDL тригери и обекти (изгледи, таблици и съхранени процедури).
  • публичен: По подразбиране всички потребители, групи и роли на SQL Server се включват автоматично в публичната фиксирана сървърна роля.

Създаване на дефинирана от потребителя сървърна роля чрез GUI

Създаването на дефинирана от потребителя сървърна роля в SQL Server може да се извърши чрез GUI с помощта на SQL Server Management Studio (SSMS). За да създадете дефинирана от потребителя сървърна роля с помощта на GUI в SSMS, изпълнете следните стъпки:

1. Стартирайте SQL Server Management Studio (SSMS) и установете връзка към конкретното копие на SQL Server.



2. Отидете на Security -> Server Roles-> New Server Role.

3. Посочете име за новата роля в страницата Общи.

4. Посочете защитените елементи на ниво сървър, за които ролята ще има разрешения в страницата Защитени елементи.

5. Добавете всички потребители или други роли в страницата „Членове“.

Създаване и използване на сървърна роля чрез T-SQL

Създаването и използването на сървърна роля с помощта на T-SQL в SQL Server е друг начин за управление на разрешенията на ниво сървър. За да създадем дефинирана от потребителя сървърна роля с помощта на T-SQL, трябва да изпълним следните стъпки:

1. Отворете нов прозорец за заявка и изпълнете следния код, за да създадете новата сървърна роля:

-- << Създайте дефинирана от потребителя сървърна роля

ИЗПОЛЗВАНЕ [главен]

ОТИВАМ

СЪЗДАВАНЕ НА СЪРВЪРНА РОЛЯ [младши DBA]

ОТИВАМ

В този пример създаваме нова сървърна роля – „младши DBA“.

2. Изпълнете следния код, за да предоставите разрешения на новата роля:

използвай [master]

ОТИВАМ

ПРЕДОСТАВЯНЕ НА СЪЗДАВАНЕ НА ВСЯКА БАЗА ДАННИ --<< вече може да създава db

ДО [младши DBA]

ОТИВАМ

В този пример ние даваме разрешение на новата роля, „младши DBA“, за създаване на бази данни.

ПРЕДОСТАВЯНЕ НА ПРЕГЛЕД НА ВСЯКА БАЗА ДАННИ --<< може да преглежда само всяка база данни, но не и таблици

ДО [младши DBA]

ОТИВАМ

В този пример командата „GRANT VIEW ANY DATABASE“ се използва за предоставяне на разрешение на ниво сървър, което позволява на ролята да вижда метаданните за всяка база данни на сървъра. В този случай предоставяме това разрешение на сървърната роля на „младши DBA“, която създадохме по-рано.

Важно е обаче да се отбележи, че предоставянето на разрешение „ПРЕГЛЕД НА ВСЯКА БАЗА ДАННИ“ не дава на потребителя или ролята разрешение за достъп до каквито и да било данни в базите данни – то просто им позволява да виждат метаданните (като имена на бази данни и схеми).

3. Добавете данни за вход или потребителски акаунт към новата роля, като изпълните следния код:

--добавете sql влизания към нова сървърна роля

ПРОМЯНА НА РОЛЯ НА СЪРВЪР [младши DBA]

ДОБАВЯНЕ НА ЧЛЕН [Управителен съвет]

ОТИВАМ

ПРОМЯНА НА РОЛЯ НА СЪРВЪР [младши DBA]

ДОБАВЯНЕ НА ЧЛЕН [Rima]

ОТИВАМ

В този пример добавяме акаунтите „Papan“ и „Rima“ като членове на ролята „младши DBA“.

Заключение

Ролите на SQL Server предоставят мощен инструмент за управление на разрешенията в среда на база данни. Като присвоите роли на потребителите, можете да гарантирате, че те имат подходящото ниво на достъп до данните, от които се нуждаят, без да им давате ненужни привилегии. Независимо дали управлявате малка база данни или голяма корпоративна система, разбирането как да използвате ролите на SQL Server е важно умение, което може да ви помогне да поддържате сигурността и целостта на вашите данни.