Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:Azure SQL Felügyelt Példány
Ez a cikk végigvezeti az SQL Server helyszíni Windows-felhasználóinak és csoportjainak az Azure SQL Managed Instance-be való migrálásának folyamatán t-SQL szintaxis használatával.
Ebben az oktatóanyagban a következőket sajátíthatja el:
- Bejelentkezések létrehozása az SQL Serverhez
- Tesztadatbázis létrehozása migráláshoz
- Bejelentkezések, felhasználók és szerepkörök létrehozása
- Adatbázis biztonsági mentése és visszaállítása felügyelt SQL-példányra (MI)
- Felhasználók manuális migrálása a MI-be ALTER USER szintaxissal
- Hitelesítés tesztelése az új megfeleltetett felhasználókkal
Jegyzet
Microsoft Entra ID korábban Azure Active Directory (Azure AD) néven ismert.
Előfeltételek
Az oktatóanyag elvégzéséhez a következő előfeltételek érvényesek:
- A Windows-tartomány a Microsoft Entra-azonosítóval van összevonva.
- Hozzáférés az Active Directoryhoz felhasználók/csoportok létrehozásához.
- Egy meglévő SQL Server a helyszíni környezetben.
- Egy meglévő felügyelt SQL-példány. Lásd Gyorsindító: SQL-felügyelt példány létrehozása.
- A Microsoft Entra-bejelentkezések létrehozásához a
sysadmin-t kell használni a felügyelt SQL-példányban.
- A Microsoft Entra-bejelentkezések létrehozásához a
- Microsoft Entra-rendszergazda létrehozása SQL-felügyelt példányhoz.
- A hálózaton belül csatlakozhat a felügyelt SQL-példányhoz. További információkért tekintse meg az alábbi cikkeket:
T-SQL DDL szintaxis
Az alábbiakban a Windows-felhasználók és -csoportok SQL Server-példányról felügyelt SQL-példányra Microsoft Entra-hitelesítéssel történő áttelepítését támogató T-SQL DDL szintaxist talál.
-- For individual Windows users with logins
ALTER USER [domainName\userName] WITH LOGIN = [loginName@domainName.com];
--For individual groups with logins
ALTER USER [domainName\groupName] WITH LOGIN=[groupName]
Érvek
domainName
A felhasználó tartománynevét adja meg.
userName
Az adatbázisban azonosított felhasználó nevét adja meg.
= loginName@domainName.com
Átirányít egy felhasználót a Microsoft Entra bejelentkezéshez
groupName
Az adatbázisban azonosított csoport nevét adja meg.
1. rész: Bejelentkezések létrehozása az SQL Serveren Windows-felhasználók és -csoportok számára
Fontos
Az alábbi szintaxis létrehoz egy felhasználót és egy csoportos bejelentkezést az SQL Serveren. Az alábbi szintaxis végrehajtása előtt győződjön meg arról, hogy a felhasználó és a csoport az Active Directoryban (AD) található.
Felhasználók: testUser1, testGroupUser
Csoport: migrálás – a testGroupUsernek az AD migrálási csoportjához kell tartoznia
Az alábbi példa az SQL Serverben hozza létre a bejelentkezést egy testUser1 nevű fiókhoz az aadsqlmitartományban.
-- Sign into SQL Server as a sysadmin or a user that can create logins and databases
use master;
go
-- Create Windows login
create login [aadsqlmi\testUser1] from windows;
go;
/** Create a Windows group login which contains one user [aadsqlmi\testGroupUser].
testGroupUser will need to be added to the migration group in Active Directory
**/
create login [aadsqlmi\migration] from windows;
go;
-- Check logins were created
select * from sys.server_principals;
go;
Hozzon létre egy adatbázist ehhez a teszthez.
-- Create a database called [migration]
create database migration
go
2. rész: Windows-felhasználók és -csoportok létrehozása, majd szerepkörök és engedélyek hozzáadása
A tesztfelhasználó létrehozásához használja az alábbi szintaxist.
use migration;
go
-- Create Windows user [aadsqlmi\testUser1] with login
create user [aadsqlmi\testUser1] from login [aadsqlmi\testUser1];
go
Ellenőrizze a felhasználói engedélyeket:
-- Check the user in the Metadata
select * from sys.database_principals;
go
-- Display the permissions – should only have CONNECT permissions
select user_name(grantee_principal_id), * from sys.database_permissions;
go
Hozzon létre egy szerepkört, és rendelje hozzá a tesztfelhasználót ehhez a szerepkörhöz:
-- Create a role with some permissions and assign the user to the role
create role UserMigrationRole;
go
grant CONNECT, SELECT, View DATABASE STATE, VIEW DEFINITION to UserMigrationRole;
go
alter role UserMigrationRole add member [aadsqlmi\testUser1];
go
Az alábbi lekérdezéssel megjelenítheti az adott szerepkörhöz rendelt felhasználóneveket:
-- Display user name assigned to a specific role
SELECT DP1.name AS DatabaseRoleName,
isnull (DP2.name, 'No members') AS DatabaseUserName
FROM sys.database_role_members AS DRM
RIGHT OUTER JOIN sys.database_principals AS DP1
ON DRM.role_principal_id = DP1.principal_id
LEFT OUTER JOIN sys.database_principals AS DP2
ON DRM.member_principal_id = DP2.principal_id
WHERE DP1.type = 'R'
ORDER BY DP1.name;
Csoport létrehozásához használja az alábbi szintaxist. Ezután adja hozzá a csoportot a szerepkörhöz db_owner.
-- Create Windows group
create user [aadsqlmi\migration] from login [aadsqlmi\migration];
go
-- ADD 'db_owner' role to this group
sp_addrolemember 'db_owner', 'aadsqlmi\migration';
go
--Check the db_owner role for 'aadsqlmi\migration' group
select is_rolemember('db_owner', 'aadsqlmi\migration')
go
-- Output ( 1 means YES)
Hozzon létre egy teszttáblát, és adjon hozzá néhány adatot a következő szintaxissal:
-- Create a table and add data
create table test ( a int, b int);
go
insert into test values (1,10)
go
-- Check the table values
select * from test;
go
3. rész: Az egyéni felhasználói adatbázis biztonsági mentése és visszaállítása felügyelt SQL-példányra
Hozzon létre biztonsági másolatot az áttelepítési adatbázisról a Adatbázisok másolása biztonsági mentéssel és visszaállítássalcímű cikkben, vagy használja az alábbi szintaxist:
use master;
go
backup database migration to disk = 'C:\Migration\migration.bak';
go
Kövesse a Gyorsútmutatót: Az adatbázis visszaállítása felügyelt SQL-példányra.
4. rész: Felhasználók áttelepítése felügyelt SQL-példányba
Hajtsa végre az ALTER USER parancsot a felügyelt SQL-példány áttelepítési folyamatának befejezéséhez.
Jelentkezzen be a felügyelt SQL-példányba a Microsoft Entra rendszergazdai fiókjával. Ezután hozza létre a Microsoft Entra-bejelentkezést a felügyelt SQL-példányban az alábbi szintaxissal. További információ: oktatóanyag: SQL-kezelési példány biztonság az Azure SQL-adatbázisban a Microsoft Entra kiszolgáló-célszemélyek (bejelentkezések) használatával.
use master go -- Create login for AAD user [testUser1@aadsqlmi.net] create login [testUser1@aadsqlmi.net] from external provider go -- Create login for the Azure AD group [migration]. This group contains one user [testGroupUser@aadsqlmi.net] create login [migration] from external provider go --Check the two new logins select * from sys.server_principals goEllenőrizze a migrációt, hogy a megfelelő adatbázist, táblát és jogosultságokat használja-e.
-- Switch to the database migration that is already restored for MI use migration; go --Check if the restored table test exist and contain a row select * from test; go -- Check that the SQL on-premises Windows user/group exists select * from sys.database_principals; go -- the old user aadsqlmi\testUser1 should be there -- the old group aadsqlmi\migration should be thereAz ALTER USER szintaxis használatával társítsa a helyszíni felhasználót a Microsoft Entra-bejelentkezéshez.
/** Execute the ALTER USER command to alter the Windows user [aadsqlmi\testUser1] to map to the Azure AD user testUser1@aadsqlmi.net **/ alter user [aadsqlmi\testUser1] with login = [testUser1@aadsqlmi.net]; go -- Check the principal select * from sys.database_principals; go -- New user testUser1@aadsqlmi.net should be there instead --Check new user permissions - should only have CONNECT permissions select user_name(grantee_principal_id), * from sys.database_permissions; go -- Check a specific role -- Display Db user name assigned to a specific role SELECT DP1.name AS DatabaseRoleName, isnull (DP2.name, 'No members') AS DatabaseUserName FROM sys.database_role_members AS DRM RIGHT OUTER JOIN sys.database_principals AS DP1 ON DRM.role_principal_id = DP1.principal_id LEFT OUTER JOIN sys.database_principals AS DP2 ON DRM.member_principal_id = DP2.principal_id WHERE DP1.type = 'R' ORDER BY DP1.name;Az ALTER USER szintaxis használatával képezd le a helyszíni csoportot a Microsoft Entra-bejelentkezésre.
/** Execute ALTER USER command to alter the Windows group [aadsqlmi\migration] to the Azure AD group login [migration] **/ alter user [aadsqlmi\migration] with login = [migration]; -- old group migration is changed to Azure AD migration group go -- Check the principal select * from sys.database_principals; go --Check the group permission - should only have CONNECT permissions select user_name(grantee_principal_id), * from sys.database_permissions; go --Check the db_owner role for 'aadsqlmi\migration' user select is_rolemember('db_owner', 'migration') go -- Output 1 means 'YES'
5. rész: A Microsoft Entra felhasználói vagy csoporthitelesítésének tesztelése
Tesztelje a felügyelt SQL-példányra való hitelesítést a Microsoft Entra-bejelentkezéshez korábban leképezett felhasználóval az ALTER USER szintaxis használatával.
Jelentkezzen be az összevont virtuális gépre az Azure SQL Managed Instance-előfizetéssel
aadsqlmi\testUser1Az SQL Server Management Studio (SSMS) használatával jelentkezzen be a felügyelt SQL-példányba Active Directory integrált-hitelesítéssel, és csatlakozzon az adatbázishoz
migration.- A testUser1@aadsqlmi.net hitelesítő adatokkal is bejelentkezhet az SSMS beállítással: Active Directory – Univerzális MFA-támogatással. Ebben az esetben azonban nem használhatja az egyszeri bejelentkezés mechanizmust, és be kell írnia egy jelszót. A felügyelt SQL-példányba való bejelentkezéshez nem kell összevont virtuális gépet használnia.
A SELECTszerepkör tagjaként választhat a
testtáblábólSelect * from test -- and see one row (1,10)
Tesztelje a felügyelt SQL-példányra való hitelesítést egy Windows-csoport tagjának migrationhasználatával. A aadsqlmi\testGroupUser felhasználót a migrálás előtt hozzá kellett volna adni a migration csoporthoz.
Jelentkezzen be az összevont virtuális gépre az Azure SQL Managed Instance-előfizetéssel
aadsqlmi\testGroupUserCsatlakozzon az Azure SQL felügyelt példány kiszolgálóhoz és az adatbázishoz
migrationa SSMS segítségével, Active Directory integrált-hitelesítéssel.- A testGroupUser@aadsqlmi.net hitelesítő adatokkal is bejelentkezhet az Active Directory – Univerzális és MFA-támogatássalSSMS beállítással. Ebben az esetben azonban nem használhatja az egyszeri bejelentkezés mechanizmust, és be kell írnia egy jelszót. A felügyelt SQL-példányba való bejelentkezéshez nem kell összevont virtuális gépet használnia.
A
db_ownerszerepkör részeként létrehozhat egy új táblát.-- Create table named 'new' with a default schema Create table dbo.new ( a int, b int)
Jegyzet
Az Azure SQL Database ismert tervezési hibája miatt a csoport tagjaként végrehajtott táblautasítás létrehozása a következő hibával meghiúsul: Msg 2760, Level 16, State 1, Line 4 The specified schema name "testGroupUser@aadsqlmi.net" either does not exist or you do not have permission to use it.
Az aktuális kerülő megoldás egy meglévő sémával rendelkező táblázat létrehozása a dbo.new><fenti esetben
Következő lépések
Oktatóanyag: Az SQL Server offline migrálása a DMS használatával felügyelt Azure SQL-példányba