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.
Amikor az adatbázist SQL Serverről Azure SQL Database-re migrálja, felfedezheti, hogy az SQL Server-adatbázisok újratervezést igényelnek a migrálásuk előtt. Ez a cikk útmutatást nyújt az újratervezés végrehajtásához, valamint annak megértéséhez, hogy miért van szükség az újratervezésre. Az inkompatibilitások észleléséhez és az adatbázisok Azure SQL Database-be való migrálásához használja az Azure Data Migration Service-t.
Megjegyzés:
A Microsoft Entra ID-t korábban Azure Active Directorynak (Azure AD) nevezték.
Áttekintés
Az alkalmazások által használt legtöbb Transact-SQL (T-SQL) funkció teljes mértékben támogatott mind a Microsoft SQL Serverben, mind az Azure SQL Database-ben. Az alapvető SQL-összetevők, például az adattípusok, operátorok, sztringek, számtani, logikai és kurzorfüggvények például azonos módon működnek az SQL Serverben és az SQL Database-ben. A DDL (adatdefiníció nyelve) és a DML (adatmanipulációs nyelv) elemei között azonban van néhány T-SQL-eltérés, amelyek csak részben támogatott T-SQL-utasításokat és lekérdezéseket eredményeznek (amelyeket a cikk későbbi részében tárgyalunk).
Emellett vannak olyan funkciók és szintaxisok is, amelyek egyáltalán nem támogatottak, mivel az Azure SQL Database úgy lett kialakítva, hogy elkülönítse a funkciókat a rendszeradatbázisoktól és az operációs rendszertől. Ezért a legtöbb példányszintű funkció nem támogatott az SQL Database-ben. A T-SQL-utasítások és -beállítások nem érhetők el, ha példányszintű beállításokat, operációsrendszer-összetevőket vagy fájlrendszerkonfigurációt konfigurálnak. Ha ilyen képességekre van szükség, a megfelelő alternatíva gyakran más módon érhető el az SQL Database-ből vagy egy másik Azure-szolgáltatásból vagy szolgáltatásból.
A magas rendelkezésre állás például be van építve az Azure SQL Database-be. A rendelkezésre állási csoportokhoz kapcsolódó T-SQL-utasításokat az SQL Database nem támogatja, és az Always On rendelkezésre állási csoportokkal kapcsolatos dinamikus felügyeleti nézetek szintén nem támogatottak.
Az SQL Database által támogatott és nem támogatott funkciók listáját a Szolgáltatások összehasonlítása című témakörben találja : Azure SQL Database és Felügyelt Azure SQL-példány. Ez az oldal kiegészíti ezt a cikket, és a T-SQL-utasításokra összpontosít.
T-SQL szintaxis utasítások részleges eltérésekkel
Az alapvető DDL-utasítások elérhetők, de a nem támogatott funkciókhoz, például a lemezen való fájlelhelyezéshez kapcsolódó DDL-utasításbővítmények nem támogatottak.
- Az SQL Serverben
CREATE DATABASEazALTER DATABASEutasításoknak több mint három tucat lehetősége van. Az utasítások közé tartoznak a fájlelhelyezési, a FILESTREAM- és a szolgáltatásközvetítői lehetőségek, amelyek csak az SQL Serverre vonatkoznak. Ez nem feltétlenül számít, ha a migrálás előtt adatbázisokat hoz létre az SQL Database-ben, de ha adatbázisokat létrehozó T-SQL-kódot migrál, akkor a CREATE DATABASE (Azure SQL Database) és a CREATE DATABASE (SQL Server T-SQL) SQL Server szintaxisával kell összehasonlítani, hogy minden használt beállítás támogatott legyen.CREATE DATABASEaz Azure SQL Database szolgáltatáscélokkal és rugalmas készletbeállításokkal is rendelkezik, amelyek csak az SQL Database-re vonatkoznak. - Az
CREATE TABLEutasítások ésALTER TABLEutasítások olyan beállításokkal rendelkeznekFILETABLE,FILESTREAMamelyek nem használhatók az SQL Database-ben, mert ezek a funkciók nem támogatottak. - Nem támogatott felhasználói objektumok, például táblák, nézetek vagy tárolt eljárások létrehozása, módosítása vagy elvetése a megfelelő
CREATE,ALTERésDROPutasítások használatával az adatbázisban egymasterlogikai kiszolgálón . -
CREATE LOGINésALTER LOGINaz utasítások támogatottak, de ne kínálják az SQL Serverben elérhető összes lehetőséget. Az adatbázis hordozhatóbbá tétele érdekében az SQL Database a bejelentkezések helyett a tartalmazott adatbázis-felhasználók használatát javasolja, amikor csak lehetséges. További információ: CREATE LOGIN, ALTER LOGIN, and Authorize database access to SQL Database, SQL Managed Instance, and Azure Synapse Analytics.
Az Azure SQL Database-ben nem támogatott T-SQL-szintaxis
Az Azure SQL Database és a felügyelt Azure SQL-példány nem támogatott funkcióihoz kapcsolódó T-SQL-utasítások mellett az alábbi utasítások és utasításcsoportok nem támogatottak. Így ha az áttelepítendő adatbázis az alábbi funkciók bármelyikét használja, az alkalmazás újratervezője, hogy kiküszöbölje ezeket a T-SQL-funkciókat és -utasításokat.
- Rendszerobjektumok rendezése.
- Kapcsolattal kapcsolatos: Végponti utasítások. Az SQL Database nem támogatja a Windows-hitelesítést, de támogatja a Microsoft Entra-hitelesítést. Ez magában foglalja a Microsoft Entra-azonosítóval összevont Active Directory-tagok hitelesítését. További információ: Microsoft Entra-hitelesítés az Azure SQL-hez.
- Adatbázisközi és példányközi lekérdezések három vagy négy résznév használatával. Az adatbázisra és az
tempdbaktuális adatbázisra hivatkozó három résznév támogatott. A rugalmas lekérdezés más MSSQL-adatbázisok tábláira mutató írásvédett hivatkozásokat támogat. - Adatbázis-tulajdonjogok közötti láncolás és az
TRUSTWORTHYadatbázistulajdonság. -
EXECUTE AS LOGIN. AEXECUTE AS USERhasználható helyette. - Bővíthető kulcskezelés (EKM) titkosítási kulcsokhoz. Az ügyfél által felügyelt transzparens adattitkosítási (TDE) kulcsok és az Always Encrypted oszlop főkulcsai az Azure Key Vaultban tárolhatók.
- Esemény: eseményértesítések, lekérdezési értesítések.
- Fájltulajdonságok: Az SQL Database által automatikusan felügyelt adatbázis-fájlnévhez, elhelyezéshez, mérethez és egyéb fájltulajdonságokhoz kapcsolódó szintaxis.
- Magas rendelkezésre állás: Az SQL Database által felügyelt magas rendelkezésre álláshoz és adatbázis-helyreállításhoz kapcsolódó szintaxis. Ez magában foglalja a biztonsági mentés, a visszaállítás, az Always On, az adatbázis-tükrözés, a naplószállítás, a helyreállítási modellek szintaxisát.
- Az SQL Database-ben nem elérhető pillanatképhez, tranzakciós és egyesítési replikációhoz kapcsolódó szintaxis. A replikációs előfizetések támogatottak.
- Függvények:
fn_get_sql,fn_virtualfilestats.fn_virtualservernodes - Példánykonfiguráció: A kiszolgálómemória, a feldolgozói szálak, a CPU-affinitás és a nyomkövetési jelzők szintaxisa. Használja inkább a szolgáltatási szinteket és a számítási méreteket.
-
KILL STATS JOB. -
OPENQUERY,OPENDATASOURCEés négyrészes nevek. - .NET-keretrendszer: közös nyelvi futtatókörnyezet (CLR) integrációja
- Szemantikai keresés
- Kiszolgálói hitelesítő adatok: Használja inkább az adatbázis hatókörébe tartozó hitelesítő adatokat .
- A kiszolgálószintű engedélyek:
GRANT,REVOKEésDENYa kiszolgálószintű engedélyek nem támogatottak. Egyes kiszolgálószintű engedélyeket adatbázisszintű engedélyek váltanak fel, vagy implicit módon a beépített kiszolgálói szerepkörök adják meg. Egyes kiszolgálószintű DMV-k és katalógusnézetek hasonló adatbázisszintű nézetekkel rendelkeznek. SET REMOTE_PROC_TRANSACTIONSSHUTDOWNsp_addmessage-
sp_configureésRECONFIGURE. Az ALTER DATABASE HATÓKÖRŰ KONFIGURÁCIÓ támogatott. sp_helpusersp_migrate_user_to_contained- SQL Server-ügynök: Az SQL Server-ügynökre vagy az
msdbadatbázisra támaszkodó szintaxis: riasztások, operátorok, központi felügyeleti kiszolgálók. Használjon inkább szkriptelést, például a PowerShellt. - SQL Server-naplózás: Használja helyette az SQL Database naplózását .
- SQL Server-nyomkövetés.
- Nyomkövetési jelzők.
- T-SQL hibakeresés.
- Kiszolgálói hatókörű vagy bejelentkezési eseményindítók.
-
USEutasítás: Ha az adatbázis környezetét egy másik adatbázisra szeretné módosítani, létre kell hoznia egy új kapcsolatot az adatbázissal.
Teljes T-SQL-referencia
A T-SQL nyelvhelyességéről, használatáról és példáiról további információt Transact-SQL referencia (adatbázismotor) című témakörben talál.
Tudnivalók a "Vonatkozik" címkékről
A T-SQL-referencia az SQL Server legújabb verzióival kapcsolatos cikkeket tartalmaz. A cikk címe alatt található egy ikonsáv, amely az MSSQL-platformokat sorolja fel, és az alkalmazhatóságot jelzi. A rendelkezésre állási csoportokat például az SQL Server 2012-ben vezették be. A CREATE AVAILABILITY GROUP cikk azt jelzi, hogy az utasítás az SQL Serverre vonatkozik (2012-től kezdődően). Az utasítás nem vonatkozik az SQL Server 2008, az SQL Server 2008 R2, az Azure SQL Database, az Azure Synapse Analytics vagy a Parallel Data Warehouse szolgáltatásra.
Bizonyos esetekben a cikk általános tárgya használható egy termékben, de a termékek között kisebb különbségek vannak. A különbségeket a cikkben szereplő pontoknál jelezzük, ha szükséges. A cikk például CREATE TRIGGER az SQL Database-ben érhető el. A ALL SERVER kiszolgálószintű eseményindítók beállítása azonban azt jelzi, hogy a kiszolgálószintű eseményindítók nem használhatók az SQL Database-ben. Használjon inkább adatbázisszintű eseményindítókat.