Управління ролями додатки
Ролі додатки - це особливі ролі бази даних, які можна використовувати для дозволу доступу до певних даних тільки тим користувачам, які встановлюють з'єднання через певний додаток. Ролі додатків не містять членів, тому перед використанням необхідно активізувати їх в поточному з'єднанні. При активізації ролі докладання поточне з'єднання втрачає дозволу, призначені користувачам, і отримує тільки дозволу, які застосовні до ролі додатка.
Створюємо ролі додатка
Роль додатки можна створити за допомогою інструкції CREATE APPLICATION ROLE. Цей код є в файлі прикладів ApplicationRoles.sql.
- Змінюємо контекст з'єднання на базу даних AdventureWorks.
Використовуємо ролі додатка
Ролі додатків перед використанням необхідно активізувати. Це можна зробити, виконавши системну збережену процедуру sp_setapprole. Після того, як роль додатка активізована в поточному з'єднанні, вона залишається активною до тих пір, поки не буде закрито з'єднання або виконана системна збережена процедура sp_unsetapprole. Хоча ролі програми призначені для використання з клієнтських додатків, їх можна також використовувати з особливих пакетів T-SQL. Наступна процедура (її можна знайти в файлах прикладів під ім'ям ApplicationRolesUse.sql) описує, як активізувати роль Financial Role і скасувати цю активізацію.
- Змінюємо контекст з'єднання на базу даних AdventureWorks.
Видаляємо ролі додатка
Якщо потрібно видалити роль додатка, використовуйте інструкцію DROP APPLICATION ROLE. як показано в наступному прикладі (цей код є в файлі прикладів ApplicationRoles.sql):
- Змінюємо контекст з'єднання на базу даних AdventureWorks.
Управління доступом до схем
Введення в схеми
Схеми бази даних можна створювати за допомогою інструкції CREATE SCHEMA. Створюючи схему, можна створити об'єкти бази даних і встановити дозволи в межах однієї транзакції, яка викликається інструкцією CREATE SCHEMA. Наступний приклад (він є в файлах прикладів під ім'ям ManagingAccessToSchemas01.sql) створює схему з ім'ям Accounting. призначає користувача Peter власником схеми і створює таблицю з ім'ям Invoices. У цьому прикладі також надається дозвіл select ролі бази даних public.
- Змінюємо контекст з'єднання на базу даних AdventureWorks.
Відокремлюємо користувачів від схем
Використовуємо схему за замовчуванням
Коли додаток посилається на об'єкт бази даних, не уточнюючи схеми, SQL Server здійснює спробу знайти об'єкт в схемі, заданої для поточного користувача за замовчуванням. Якщо об'єкт не міститься в схемі за замовчуванням, SQL Server намагається виявити об'єкт в схемі dbo. У наступному прикладі (який можна знайти в файлах прикладів під ім'ям ManagingAccessToSchemas03.sql) демонструє, як створити схему і призначити її в якості схеми за замовчуванням для користувача.
- Створюємо ім'я входу SQL Server в даному екземплярі SQL Server.