Adatbázisok, felhasználók és engedélyek kezelése az MSSQL Server 2022-ben
A Microsoft SQL Server, közismert nevén MSSQL Server, egy relációs adatbázis-kezelő rendszer (RDBMS), amelyet a Microsoft Corporation fejlesztett ki. Nagy mennyiségű adat tárolására és kezelésére szolgál, és számos alkalmazásban használható, beleértve a webalapú, kliens/szerver és önálló alkalmazásokat.
Az MS SQL Servert a vállalati szektorokban használják, ideértve a pénzügyi szolgáltatásokat, az e-kereskedelmet és az egészségügyet. Ennek elsősorban az az oka, hogy nagyszámú egyidejű felhasználó kezelésére képes, és biztonságos és megbízható platformot biztosít az érzékeny adatok tárolására és kezelésére. Az MSSQL számos programozási nyelvet és platformot is támogat, mint például a .NET, Java, Node.js stb. Ez sokoldalú adatbázis-platformmá teszi, amely számos alkalmazásban használható.
Az MSSQL számos szolgáltatást kínál, amelyek magukban foglalják:
- Skálázhatóság: Nagy mennyiségű adatot tud kezelni, és skálázható, így egyre több felhasználó és alkalmazás számára alkalmas.
- Biztonság: Robusztus biztonsági funkciókat kínál, beleértve a titkosítást, a hozzáférés-vezérlést és az auditálást, hogy megvédje az adatokat és biztosítsa a szabályok betartását.
- Magas rendelkezésre állás: olyan funkciókat tartalmaz, mint a fürtözés és a replikáció a magas rendelkezésre állás biztosítása és az állásidő minimalizálása érdekében.
- Integráció: Az MSSQL számos programozási nyelvvel és platformmal integrálható, beleértve a .NET-et, a Java-t és a Node.js-t, megkönnyítve az alkalmazások fejlesztését és üzembe helyezését.
- Üzleti intelligencia: Fejlett analitikai és jelentéskészítési funkciókat is tartalmaz, például adatbányászatot, adattárházat és OLAP-t (Online Analytical Processing), amelyek lehetővé teszik a felhasználók számára, hogy nagy mennyiségű adatból nyerjenek betekintést.
- Teljesítmény: olyan funkciókat kínál, mint a lekérdezések optimalizálása és indexelése a gyors és hatékony adatlekéréshez és -feldolgozáshoz.
- Felhőképességek: Az MSSQL a helyszínen vagy a felhőben telepíthető, a hibrid felhő forgatókönyvek támogatásával.
Csatlakozzon hozzám ebben az útmutatóban, amikor belemerülünk az adatbázisok, a felhasználók és az engedélyek kezelésébe az MS SQL Server 2022-ben.
Elkezdeni
Mielőtt belemerülnénk a dolog lényegébe, telepítenie kell az MSSQL Server 2022-t a rendszerére. Ez a környezettől függően számos módon megtehető. Az alábbiakban bemutatunk néhány dedikált útmutatót az MSSQL Server 2022 telepítéséhez.
- Futtassa a Microsoft SQL Server 2022-t a Docker/Podman Containerben
- Telepítse a Microsoft SQL Server 2022-t Rocky Linux 8/AlmaLinux 8 rendszerre
- A Microsoft SQL Server 2022 telepítése Ubuntu 20.04 rendszeren
A telepítés után járjon el az alábbiak szerint
1. Telepítse az SQL Server parancssori eszközeit
Az MS SQL Server 2022 rendszeren lévő adatbázisok kezeléséhez különféle eszközöket használhat, beleértve az SQL Server Management Studio (SSMS), az Azure Data Studio és a parancssori eszközöket.
Ebben az útmutatóban megtudjuk, hogyan kell kezelni az MSSQL Server 2022 adatbázisokat a parancssor használatával. Az SQL Server parancssori eszközeit telepítjük: sqlcmd és bcp.
A rendszertől függően adja hozzá a tárolót, és telepítse az sqlcmd és a bcp fájlokat az alábbi parancsok segítségével.
- Debian/Ubuntu
Kezdje azzal, hogy hozzáadja a tárolót a rendszerhez.
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.listMiután hozzáadta, frissítse a rendszert, és telepítse az sqlcmd és a bcp elemet:
sudo apt-get update
sudo apt-get install mssql-tools unixodbc-devMost exportálja a PATH környezetet:
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc- Rocky Linux/Alma Linux/CentOS/RedHat rendszeren
Adja hozzá a tárolót a következő paranccsal:
curl https://packages.microsoft.com/config/rhel/8/prod.repo | sudo tee /etc/yum.repos.d/msprod.repoHozzáadás után telepítse az sqlcmd és a bcp csomagokat:
sudo yum remove mssql-tools unixODBC-utf16-devel
sudo yum install mssql-tools unixODBC-develMost exportálja a PATH környezetet
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc- SLES-en
Az mssql-tools telepítése is lehetséges a SUSE Linux rendszeren. Kezdje a tár hozzáadásával:
sudo zypper addrepo -fc https://packages.microsoft.com/config/sles/12/prod.repo
sudo zypper --gpg-auto-import-keys refreshMiután hozzáadta, telepítse az mssql-tools-t a következő paranccsal:
sudo zypper install mssql-tools unixODBC-develKörnyezet exportálása:
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc- MacOS/OS-X rendszeren
A HomeBrew segítségével telepítheti az sqlcmd-t és a bcp-t MacOS/OS-X rendszerre. Adja hozzá a repót a következő paranccsal:
brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-releaseEzután telepítse az mssql-tools programot a következő paranccsal:
brew update
brew install mssql-tools2. Adatbázisok kezelése az MSSQL Server 2022 rendszeren
Most már használhatjuk a Transact-SQL nyelvi utasításokat az MSSQL Server 2022 kezelésére. Először is nyissa meg az adatbázist az alábbi szintaxisú paranccsal:
sqlcmd -S IP_ADDRESS -U sa -P '<YourPassword>'A parancsban több zászló található:
- -S : Az SQL Server nevét/IP-címét adja meg
- -U : Beállítja a felhasználónevet
- -P : Felhasználói jelszót biztosít
Az MSSQL alapértelmezett felhasználója az SA, és a jelszót a telepítés során adta meg. Az alábbiakban egy végrehajtási minta látható.
Miután csatlakozott az MSSQL Server 2022-höz, mostantól kezelheti az adatbázisokat.
a. Hozzon létre egy adatbázist MSSQL-en
Ha adatbázist szeretne létrehozni az MSSQL Server 2022 rendszeren, használja az alábbi szintaxisú parancsot:
CREATE DATABASE [database_name];Például:
CREATE DATABASE sampledb;
GOAz adatbázis létrehozása után listázhatja az adatbázisokat a következő paranccsal:
SELECT Name from sys.databases;
GOMinta kimenet:
Hozzon létre táblákat MSSQL-ben
Most a fenti adatbázishoz táblákat adhatunk hozzá. Ehhez a bemutatóhoz hozzáadok egy egyszerű táblát my_table néven:
USE sampledb;
CREATE TABLE my_table ( id INT PRIMARY KEY, name VARCHAR(50) NOT NULL, age INT );
GOAdatok beszúrása a táblázatba:
INSERT INTO my_table (id, name, age)
VALUES (1, 'John', 25)
GOA táblázat adatainak megtekintéséhez:
SELECT id, name, age FROM my_table
GOMinta kimenet:
Adatbázis | Táblázat törlése MSSQL-en
Az MSSQL-ben adatbázist vagy táblát is törölhet. Táblázat törléséhez használja a parancsot az alábbi szintaxissal:
DROP TABLE [table_name]
GOPéldául;
DROP TABLE my_table;
GOAdatbázis törléséhez használja a parancsot az alábbi szintaxissal:
DROP DATABASE [database_name]
GOPéldául:
DROP DATABASE sampledb;
GO3. Kezelje a felhasználókat és az engedélyeket az MSSQL Server 2022-ben
Alapértelmezés szerint az MSSQL-hez egy felhasználó tartozik, az adminisztrátor felhasználónévvel „sa ”. Lehetőség van azonban más felhasználók létrehozására és engedélyek megadására a különböző adatbázisokhoz.
Az MSSQL-ben, a felhasználókezelésben több fogalom létezik:
- Bejelentkezés: Az MSSQL-kiszolgálópéldányhoz való csatlakozáshoz bejelentkezés szükséges. A felhasználó hitelesítésére és az adatbázismotor eléréséhez szükséges engedélyek megadására szolgál. A bejelentkezés az SQL Server Management Studio (SSMS) használatával vagy a
CREATE LOGINT-SQL paranccsal hozható létre. - Felhasználó: A felhasználó egy egyszerű biztonsági rendszer, amely egy adott adatbázishoz van társítva. Az adatbázison belüli adatok eléréséhez és módosításához szükséges engedélyek megadására szolgál. Felhasználó SSMS-sel vagy a
CREATE USERT-SQL paranccsal hozható létre - Hatókör: A bejelentkezés egy szerverszintű objektum, amely a fő adatbázisban létezik, és a szerver bármely adatbázisához való csatlakozásra használható. Másrészt a felhasználó egy adatbázis szintű objektum, amely egy adott adatbázis kontextusában létezik.
- Hitelesítés: A bejelentkezést az MSSQL-kiszolgáló hitelesíti a Windows hitelesítés vagy az SQL Server hitelesítés használatával. Ezzel szemben a felhasználót az adatbázismotor hitelesíti a bejelentkezési hitelesítő adatok segítségével.
- Engedélyek: A bejelentkezések szerverszintű, míg a felhasználók adatbázis-szintű engedélyeket kapnak. Ez azt jelenti, hogy a bejelentkezés bármely adatbázishoz hozzáférhet a kiszolgálón, de a felhasználó csak a hozzárendelt adatbázishoz férhet hozzá.
a. Hozzon létre egy bejelentkező felhasználót az MSSQL-ben
Amint azt korábban kifejtettük, a bejelentkező felhasználó az adatbázis-kiszolgálóhoz csatlakozó felhasználó vagy alkalmazás hitelesítésére szolgál.
Bejelentkezési felhasználó létrehozásához használja a parancsot az alábbi szintaxissal:
CREATE LOGIN login_name WITH PASSWORD = 'password';
GOPéldául;
CREATE LOGIN testuser WITH PASSWORD = 'Passw0rd!';
GOA létrehozást követően bejelentkezhet az MSSQL adatbázis-kiszolgálóra:
sqlcmd -S 127.0.0.1 -U testuser Minta kimenet:
A bejelentkezés alapértelmezés szerint semmilyen jogosultsággal nem rendelkezik adatbázisokhoz vagy adatbázis-objektumokhoz való hozzáféréshez. A bejelentkezés azonban képes csatlakozni az adatbázis-kiszolgálóhoz, és kiszolgálószintű engedélyeket kaphat adminisztrációs feladatok elvégzésére, például adatbázisok létrehozására vagy kiszolgálóbeállítások kezelésére. Az engedélyek hozzárendeléséhez folytassa, és címkézzen hozzá egy felhasználót.
A bejelentkezés törléséhez használja:
DROP LOGIN [username]
GOA bejelentkezési jelszó megváltoztatásához használja:
ALTER LOGIN [login_name] WITH PASSWORD = 'new_password';
GOCserélje ki a [bejelentkezési_név] értéket annak a bejelentkezési névnek a nevére, amelynek jelszavát módosítani szeretné, az 'new_password'-t pedig a konfigurálni kívánt új jelszóra.
b. Hozzon létre egy felhasználót az MSSQL-ben
A bejelentkezés létrehozása után a bejelentkezést társítani kell egy adatbázis-felhasználóhoz, hogy a felhasználó hozzáférést biztosítson bizonyos adatbázisokhoz és adatbázis-objektumokhoz. E társítás nélkül a bejelentkező nem tud hozzáférni egyetlen adatbázishoz sem. A felhasználó hozzáférést biztosít bizonyos adatbázisokhoz és adatbázis-objektumokhoz a bejelentkezéshez.
Most jelentkezzen be rendszergazdaként, és adjon hozzá egy felhasználót a korábban létrehozott bejelentkezési adatokhoz. A parancs szintaxisa a következő:
CREATE USER user_name FOR LOGIN login_name;Például:
CREATE USER my_user FOR LOGIN testuser;
GOFelhasználó törléséhez használja a parancsot a következő szintaxissal:
DROP USER [username]
GOA jelszó megváltoztatásához használja a;
ALTER USER [userName] WITH PASSWORD = 'New Password'
GOTekintse meg az elérhető felhasználókat a paranccsal;
SELECT * FROM sys.database_principals WHERE Type = 'S'
GOc. Engedélyek megadása egy bejelentkező felhasználónak az MSSQL-ben
Az MSSQL-ben számos beépített felhasználói szerepkör létezik, amelyek az engedélyek és a különféle erőforrásokhoz való hozzáférés kezelésére szolgálnak. Ezeket a szerepköröket úgy tervezték, hogy leegyszerűsítsék a felhasználók és csoportok engedélyeinek megadásának folyamatát. Íme néhány az MSSQL-ben gyakran használt felhasználói szerepkörök:
A bejelentkezéseknek lehetnek szerverszintű engedélyei és szerepei, például „sysadmin“, „securityadmin“, „dbcreator ", és "processadmin ", míg a felhasználók adatbázis szintű engedélyekkel rendelkeznek. A felhasználó hozzáférést kaphat adatbázis-objektumokhoz, például táblákhoz, nézetekhez, tárolt eljárásokhoz és függvényekhez. A felhasználók adatbázis-szintű szerepköröket kaphatnak, például „db_owner”, „db_datareader”, „db_datawriter” és „db_ddladmin” "
Bejelentkezésekhez: (Az engedélyek megadásához használja a főadatbázist)
- SysAdmin: Ez a szerepkör teljes adminisztrátori hozzáféréssel rendelkezik az MSSQL-példányhoz, és bármilyen műveletet végrehajthat a kiszolgálón.
- DbCreator: Ez a szerepkör adatbázisokat hozhat létre, módosíthat és eldobhat.
- SecurityAdmin: Ezzel a szerepkörrel a felhasználók kezelhetik a bejelentkezéseket, a felhasználókat és a szerepköröket.
- BackupOperator: Ez a szerep lehetővé teszi a felhasználók számára, hogy biztonsági másolatot készítsenek és visszaállítsanak egy adatbázist.
- BulkAdmin: Ez a szerepkör lehetővé teszi a felhasználók számára, hogy tömeges importálási és exportálási műveleteket hajtsanak végre.
- DDLAdmin: Ez a szerepkör lehetővé teszi a felhasználók számára adatbázis-objektumok, például táblák, nézetek és tárolt eljárások létrehozását, módosítását és eldobását.
Felhasználóknak:
- DbOwner: Ez a szerepkör teljes adminisztrátori hozzáféréssel rendelkezik egy adott adatbázishoz, és bármilyen műveletet végrehajthat az adatbázison.
- DataReader: Ez a szerep lehetővé teszi a felhasználók számára, hogy az adatbázisban lévő összes felhasználói táblából beolvassák az összes adatot.
- DataWriter: Ez a szerepkör lehetővé teszi a felhasználók számára, hogy adatokat szúrjanak be, frissítsenek és töröljenek az adatbázis összes felhasználói táblájában.
Jogosultságok adhatók a létrehozott felhasználóhoz|Jelentkezzen be, hogy engedélyeket tudjon adni, először adminisztrátorként csatlakozzon az MSSQL szerverhez;
sqlcmd -S 127.0.0.1 -U saAz engedélyek megadásához az sp_addrolemember parancsot használhatjuk. A fenti szerepkörök bármelyikét hozzáadhatja a felhasználóhoz.
- Adatbázis-írói szerepkör megadása:
USE [database_name]
GO
EXEC sp_addrolemember 'db_datawriter', 'username'
GO- Adatbázis-olvasói szerepkör megadása:
USE [database_name]
GO
EXEC sp_addrolemember 'db_datareader', 'username'
GO- Dbcreator szerepkör megadása:
USE master
GO
EXEC sp_addsrvrolemember 'dbcreator', 'loginname';
GO- Rendszergazdai szerepkör megadása:
USE master
GO
EXEC sp_addsrvrolemember 'sysadmin', 'loginname'
GOA fenti parancsok működéséhez az adatbázis_neve kifejezést le kell cserélni az adatbázis tényleges nevére, a felhasználói nevet pedig a tényleges bejelentkezési névre kell cserélni. át szeretné adni a szerepet.
Annak demonstrálására, hogy működik-e, hozzáadhatjuk a DBCreator szerepkört a felhasználóhoz:
USE sampledb
CREATE USER my_user FOR LOGIN testuser;
GO
EXEC sp_addrolemember 'db_datareader', 'my_user';
GOTekintse meg a felhasználó hozzáadott szerepköreit;
1> EXEC sp_helpuser 'my_user';
2> GO
UserName RoleName LoginName DefDBName DefSchemaName UserID SID
-------------- ------------ ---------------- ------------ ------------- ---------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
my_user public testuser master dbo 7 0x138EB720C61D394F96CBD43E42A800E9
1> A hozzáadást követően teszteljük, hogy tudunk-e adatbázist létrehozni és törölni:
d. Visszavonja a bejelentkezési\felhasználók engedélyeit az MSSQL-ben
A felhasználók engedélyeinek visszavonásához használja az alábbi szintaxisú parancsot:
REVOKE [role] FROM [user_name];
GOPéldául:
REVOKE db_datawriter FROM [user_name];
GOA bejelentkezési engedélyek visszavonásához használja:
ALTER SERVER ROLE [role] DROP MEMBER [login];Például:
ALTER SERVER ROLE dbcreator DROP MEMBER testuser;Ítélet
Ezzel véget ér az adatbázisok, felhasználók és engedélyek MS SQL Server 2022 rendszerben történő kezeléséről szóló útmutató. Remélem, ez informatív volt.
Lásd még ezen az oldalon:
Az SSH és a MySQL Bastion Server beállítása a Warpgate segítségével
Az Azure Data Studio telepítése Rocky Linux 8|AlmaLinux 8 rendszeren
Futtassa a Microsoft SQL Server 2022-t a Docker/Podman Containerben




