Chyba: User, group, or role already exists in the database
Napsal: 11.05.2012 22:36
Při snaze o přidání uživatele do databáze pomocí akce Přidat do databáze v seznamu uživatelů se můžete setkat s chybovou hláškou:
[SQL:15023,16] User, group, or role 'muj_login' already exists in the current database.
Zároveň je v seznamu uživatelů u problémového uživatele zaškrtnuto jak ve sloupci S (Je uživatel definován na SQL-serveru ?), tak ve sloupci D (Přístup do databáze ?). Snaha o přihlášení uživatele, ale končí chybou:
Uživatel nemá přístup do databáze !
Tato situace je způsobena tím, že uživateli v databázi není přiřazen příslušný login na SQL Serveru.
Může nastat z různých příčin (způsobených zásahem mimo aplikaci Helios Orange). Nejčastěji při obnově databáze na jiném SQL Serveru (např. při migraci), kdy nedojde ke korektnímu přiřazení uživatelů v databázi, kteří nemají na SQL Serveru definován login, prostřednictvím programu a loginy jsou definovány ručně, např. v Management Studiu.
Řešení pomocí programu:
Smazat login na SQL serveru akcí Smazat z SQL Serveru v seznamu uživatelů. Následně spustit program (s kontrolou konzistence) a nechat založit login programem.
Řešení pomocí skriptu:
[SQL:15023,16] User, group, or role 'muj_login' already exists in the current database.
Zároveň je v seznamu uživatelů u problémového uživatele zaškrtnuto jak ve sloupci S (Je uživatel definován na SQL-serveru ?), tak ve sloupci D (Přístup do databáze ?). Snaha o přihlášení uživatele, ale končí chybou:
Uživatel nemá přístup do databáze !
Tato situace je způsobena tím, že uživateli v databázi není přiřazen příslušný login na SQL Serveru.
Může nastat z různých příčin (způsobených zásahem mimo aplikaci Helios Orange). Nejčastěji při obnově databáze na jiném SQL Serveru (např. při migraci), kdy nedojde ke korektnímu přiřazení uživatelů v databázi, kteří nemají na SQL Serveru definován login, prostřednictvím programu a loginy jsou definovány ručně, např. v Management Studiu.
Řešení pomocí programu:
Smazat login na SQL serveru akcí Smazat z SQL Serveru v seznamu uživatelů. Následně spustit program (s kontrolou konzistence) a nechat založit login programem.
Řešení pomocí skriptu:
- Kód: Vybrat vše
--(i) skript spustit v příslušné databázi
--(i) muj_login zaměnit za login problémového uživatele
--(i) jméno uživatele i loginu uzavřete do hranatých závorek
ALTER USER [muj_login]
WITH LOGIN = [muj_login];