Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:SQL Server
Azure SQL Database
Spravovaná instance
Azure SQLPdW (Analytics Platform System)
Databáze SQL v Microsoft Fabric
Note
Studijní program Začínáme s dotazováním pomocí jazyka Transact-SQL poskytuje podrobnější obsah spolu s praktickými příklady.
Udělení přístupu uživatele k databázi zahrnuje tři kroky. Nejprve vytvoříte přihlášení. Přihlášení umožňuje uživateli připojit se k databázovému stroji SQL Serveru. Pak nakonfigurujete přihlášení jako uživatele v zadané databázi. A nakonec uživateli udělíte oprávnění k databázovým objektům. Tato lekce ukazuje tyto tři kroky a ukazuje, jak vytvořit zobrazení a uloženou proceduru jako objekt.
Note
Tato lekce spoléhá na objekty vytvořené v lekci 1 – Vytvoření databázových objektů. Než budete pokračovat na lekci 2, dokončete lekci 1.
Prerequisites
K dokončení tohoto kurzu potřebujete SQL Server Management Studio a přístup k instanci SQL Serveru.
- Nainstalujte SQL Server Management Studio.
Pokud nemáte přístup k instanci SQL Serveru, vyberte svou platformu z následujících odkazů. Pokud zvolíte ověřování SQL, použijte přihlašovací údaje SQL Serveru.
- Windows: Stáhněte si SQL Server 2022 Developer Edition.
- Linux: Stáhněte SQL Server 2022 v kontejneru.
Nasloucháme: Pokud v tomto článku zjistíte něco zastaralého nebo nesprávného, například krok nebo příklad kódu, řekněte nám prosím. Můžete kliknout na tlačítko Tato stránka v části Váš názor v dolní části této stránky. Čteme všechny položky zpětné vazby k SQL, obvykle následující den. Thanks.
Vytvoření přihlášení
Pro přístup k databázovému stroji uživatelé vyžadují přihlášení. Přihlášení může představovat identitu uživatele jako účet systému Windows nebo jako člen skupiny Systému Windows nebo přihlášení může být přihlášení k SQL Serveru, které existuje pouze na SQL Serveru. Kdykoli je to možné, měli byste použít ověřování systému Windows.
Ve výchozím nastavení mají správci na vašem počítači úplný přístup k SQL Serveru. Pro tuto lekci chceme mít méně privilegovaného uživatele; v počítači tedy vytvoříte nový místní účet ověřování systému Windows. Abyste to mohli udělat, musíte být správcem počítače. Potom novému uživateli udělíte přístup k SQL Serveru.
Vytvoření nového účtu Windows
- Vyberte Start, vyberte Spustit, do pole Otevřít zadejte
%SystemRoot%\system32\compmgmt.msc /sa potom vyberte OK a otevřete program Správa počítače. - V části Systémové nástroje rozbalte položku Místní uživatelé a skupiny, klepněte pravým tlačítkem na položku Uživatelé a potom vyberte Nový uživatel.
- Do pole Uživatelské jméno zadejte Mary.
- Do pole Heslo a Potvrzení hesla zadejte silné heslo a pak vyberte Vytvořit a vytvořte nového místního uživatele systému Windows.
Vytvoření přihlášení SQL
V okně Editoru dotazů aplikace SQL Server Management Studio zadejte a spusťte následující kód, který nahradí computer_name názvem počítače.
FROM WINDOWS označuje, že Systém Windows ověřuje uživatele. Volitelný DEFAULT_DATABASE argument se připojí Mary k TestData databázi, pokud připojovací řetězec označit jinou databázi. Tento příkaz zavádí středník jako volitelné ukončení příkazu Transact-SQL.
CREATE LOGIN [computer_name\Mary]
FROM WINDOWS
WITH DEFAULT_DATABASE = [TestData];
GO
Tím se autorizuje uživatelské jméno Maryověřené vaším počítačem pro přístup k této instanci SQL Serveru. Pokud je v počítači více než jedna instance SQL Serveru, musíte vytvořit přihlášení pro každou instanci, která Mary musí přistupovat.
Note
Vzhledem k tomu Mary , že účet domény není, je možné toto uživatelské jméno ověřit pouze v tomto počítači.
Udělení přístupu k databázi
Účet Mary teď má přístup k této instanci SQL Serveru, ale nemá oprávnění pro přístup k databázím. Účet nemá ani přístup k výchozí databázi TestData , dokud účet neověříte jako uživatele databáze.
Pokud chcete udělit Mary přístup, přepněte do TestData databáze a pak pomocí příkazu CREATE USER namapujte přihlášení na uživatele s názvem Mary.
Vytvoření uživatele v databázi
Zadejte a spusťte následující příkazy (nahraďte computer_name názvem počítače) a udělte Mary přístup k TestData databázi.
USE [TestData];
GO
CREATE USER [Mary] FOR LOGIN [computer_name\Mary];
GO
Mary teď má přístup k SQL Serveru i k TestData databázi.
Vytváření zobrazení a uložených procedur
Jako správce můžete příkaz SELECT spustit z Products tabulky a vw_Names zobrazení a provést pr_Names postup. Mary ale nemůže. K udělení potřebných oprávnění Mary použijte příkaz GRANT.
Udělení oprávnění k uložené proceduře
Spuštěním následujícího příkazu udělíte MaryEXECUTE oprávnění pro uloženou proceduru pr_Names .
GRANT EXECUTE ON pr_Names TO Mary;
GO
V tomto scénáři má Mary přístup pouze k Products tabulce pomocí uložené procedury. Pokud chcete, aby Mary mohla spouštět příkaz SELECT proti zobrazení, musíte také provést GRANT SELECT ON vw_Names TO Mary. Pokud chcete odebrat přístup k databázovým objektům, použijte příkaz REVOKE.
Note
Pokud tabulka, zobrazení a uložená procedura nejsou vlastněné stejným schématem, udělení oprávnění je složitější.
O GRANTu
Abyste mohli spustit uloženou proceduru, musíte mít oprávnění EXECUTE. Abyste mohli přistupovat k datům a měnit je, musíte mít oprávnění SELECT, INSERT, UPDATE a DELETE. Příkaz GRANT se také používá pro další oprávnění, například oprávnění k vytváření tabulek.
Další kroky
V dalším článku se dozvíte, jak odebrat databázové objekty, které jste vytvořili v dalších lekcích.
Další informace najdete v dalším článku: