Udostępnij za pomocą


sp_addapprole (Transact-SQL)

Dotyczy:SQL Server

Dodaje rolę aplikacji do bieżącej bazy danych.

Ważne

Ta funkcja zostanie usunięta w przyszłej wersji programu SQL Server. Unikaj używania tej funkcji w nowych pracach programistycznych i zaplanuj modyfikowanie aplikacji, które obecnie korzystają z tej funkcji. Zamiast tego użyj funkcji CREATE APPLICATION ROLE( UTWÓRZ ROLĘ APLIKACJI ).

Transact-SQL konwencje składni

Składnia

sp_addapprole
    [ @rolename = ] N'rolename'
    , [ @password = ] N'password'
[ ; ]

Argumenty (w programowaniu)

[ @rolename = ] N'rolename'

Nazwa nowej roli aplikacji. @rolename jest nazwą systemu bez wartości domyślnej. @rolename musi być prawidłowym identyfikatorem i nie może jeszcze istnieć w bieżącej bazie danych.

Nazwy ról aplikacji mogą zawierać od 1 do 128 znaków, w tym liter, symboli i cyfr. Nazwy ról nie mogą zawierać ukośnika odwrotnego (\) ani być NULL ani pustym ciągiem ("").

[ @password = ] N'hasło'

Hasło wymagane do aktywowania roli aplikacji. @password jest nazwa_systemu, bez wartości domyślnej. @password nie może być NULL.

Zwracanie wartości kodu

0 (powodzenie) lub 1 (niepowodzenie).

Uwagi

We wcześniejszych wersjach programu SQL Server użytkownicy (i role) nie różnią się w pełni od schematów. Począwszy od programu SQL Server 2005 (9.x), schematy są w pełni różne od ról. Ta architektura jest odzwierciedlana w zachowaniu klasy CREATE APPLICATION ROLE. Ta instrukcja zastępuje sp_addapprole.

Aby zachować zgodność z poprzednimi wersjami programu SQL Server, sp_addapprole należy wykonać następujące kontrole:

  • Jeśli schemat o takiej samej nazwie jak rola aplikacji jeszcze nie istnieje, zostanie utworzony schemat. Nowy schemat jest własnością roli aplikacji i jest to domyślny schemat roli aplikacji.

  • Jeśli schemat o tej samej nazwie co rola aplikacji już istnieje, procedura kończy się niepowodzeniem.

  • sp_addapprole nie sprawdza złożoności hasła. Złożoność hasła jest sprawdzana przez .CREATE APPLICATION ROLE

Parametr @password jest przechowywany jako skrót jednokierunkowy.

sp_addapprole Nie można wykonać procedury składowanej z poziomu transakcji zdefiniowanej przez użytkownika.

Ważne

Opcja Microsoft ODBC encrypt nie jest obsługiwana przez klienta SqlClient. Gdy to możliwe, monituj użytkowników o wprowadzenie poświadczeń roli aplikacji w czasie wykonywania. Unikaj przechowywania poświadczeń w pliku. Jeśli musisz utrwały poświadczenia, zaszyfruj je przy użyciu funkcji CryptoAPI.

Uprawnienia

Wymaga uprawnienia ALTER ANY APPLICATION ROLE w bazie danych. Jeśli schemat o tej samej nazwie i właścicielu co nowa rola jeszcze nie istnieje, również wymaga uprawnienia CREATE SCHEMA w bazie danych.

Przykłady

Poniższy przykład dodaje nową rolę SalesApp aplikacji do bieżącej bazy danych. Zastąp <password> ciąg silnym hasłem.

EXECUTE sp_addapprole 'SalesApp', '<password>';
GO