Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Wanneer u uw database migreert van SQL Server naar Azure SQL Database, ontdekt u mogelijk dat uw SQL Server-databases enige her-engineering vereisen voordat ze kunnen worden gemigreerd. Dit artikel bevat richtlijnen om u te helpen bij het uitvoeren van deze her-engineering en het begrijpen van de onderliggende redenen waarom de re-engineering nodig is. Gebruik Azure Data Migration Service om incompatibiliteit te detecteren en databases te migreren naar Azure SQL Database.
Opmerking
Microsoft Entra-id werd voorheen Azure Active Directory (Azure AD) genoemd.
Overzicht
De meeste Transact-SQL (T-SQL)-functies die door toepassingen worden gebruikt, worden volledig ondersteund in zowel Microsoft SQL Server als Azure SQL Database. De belangrijkste SQL-onderdelen, zoals gegevenstypen, operators, tekenreeksen, rekenkundige, logische en cursorfuncties, werken bijvoorbeeld identiek in SQL Server en SQL Database. Er zijn echter enkele T-SQL-verschillen in DDL-elementen (data definition language) en DML (gegevensmanipulatietaal) die resulteren in T-SQL-instructies en -query's die slechts gedeeltelijk worden ondersteund (die verderop in dit artikel worden besproken).
Daarnaast zijn er enkele functies en syntaxis die helemaal niet worden ondersteund, omdat Azure SQL Database is ontworpen om functies te isoleren van afhankelijkheden van de systeemdatabases en het besturingssysteem. Als zodanig worden de meeste functies op exemplaarniveau niet ondersteund in SQL Database. T-SQL-instructies en -opties zijn niet beschikbaar als ze opties op exemplaarniveau, onderdelen van het besturingssysteem configureren of de configuratie van het bestandssysteem opgeven. Wanneer dergelijke mogelijkheden vereist zijn, is een geschikt alternatief vaak op een andere manier beschikbaar vanuit SQL Database of vanuit een andere Azure-functie of -service.
Hoge beschikbaarheid is bijvoorbeeld ingebouwd in Azure SQL Database. T-SQL-instructies met betrekking tot beschikbaarheidsgroepen worden niet ondersteund door SQL Database en de dynamische beheerweergaven met betrekking tot AlwaysOn-beschikbaarheidsgroepen worden ook niet ondersteund.
Zie Functiesvergelijking voor een lijst met functies die worden ondersteund en niet worden ondersteund door SQL Database : Azure SQL Database en Azure SQL Managed Instance. Deze pagina is een aanvulling op dat artikel en richt zich op T-SQL-instructies.
T-SQL-syntaxisinstructies met gedeeltelijke verschillen
De DDL-kerninstructies zijn beschikbaar, maar DDL-instructieextensies met betrekking tot niet-ondersteunde functies, zoals bestandsplaatsing op schijf, worden niet ondersteund.
- In SQL Server
CREATE DATABASEALTER DATABASEhebben meer dan drie dozijn opties. De instructies omvatten bestandsplaatsing, FILESTREAM en servicebrokeropties die alleen van toepassing zijn op SQL Server. Dit maakt mogelijk niet uit als u databases maakt in SQL Database voordat u migreert, maar als u T-SQL-code migreert waarmee databases worden gemaakt, moet u CREATE DATABASE (Azure SQL Database) vergelijken met de SQL Server-syntaxis bij CREATE DATABASE (SQL Server T-SQL) om ervoor te zorgen dat alle opties die u gebruikt worden ondersteund.CREATE DATABASEvoor Azure SQL Database heeft ook opties voor servicedoelstelling en elastische pools die alleen van toepassing zijn op SQL Database. - De
CREATE TABLEinstructiesALTER TABLEhebbenFILETABLEenFILESTREAMopties die niet kunnen worden gebruikt voor SQL Database, omdat deze functies niet worden ondersteund. - Het maken, wijzigen of verwijderen van gebruikersobjecten zoals tabellen, weergaven of opgeslagen procedures met behulp van de bijbehorende
CREATE,ALTERenDROPinstructies in demasterdatabase op een logische server wordt niet ondersteund. -
CREATE LOGINenALTER LOGINinstructies worden ondersteund, maar bieden niet alle opties die beschikbaar zijn in SQL Server. Om uw database draagbaarder te maken, moedigt SQL Database het gebruik van ingesloten databasegebruikers aan in plaats van waar mogelijk aan te melden. Zie CREATE LOGIN, ALTER LOGIN en Autoriseren databasetoegang tot SQL Database, SQL Managed Instance en Azure Synapse Analytics voor meer informatie.
T-SQL-syntaxis wordt niet ondersteund in Azure SQL Database
Naast T-SQL-instructies met betrekking tot de niet-ondersteunde functies die worden beschreven in functiesvergelijking: Azure SQL Database en Azure SQL Managed Instance, worden de volgende instructies en groepen instructies niet ondersteund. Als uw database die moet worden gemigreerd een van de volgende functies gebruikt, moet u uw toepassing opnieuw ontwikkelen om deze T-SQL-functies en -instructies te elimineren.
- Sortering van systeemobjecten.
- Verbinding gerelateerd: Eindpuntinstructies. SQL Database biedt geen ondersteuning voor Windows-verificatie, maar biedt wel ondersteuning voor Microsoft Entra-verificatie. Dit omvat verificatie van Active Directory-principals die zijn gefedereerd met Microsoft Entra-id. Zie Microsoft Entra-verificatie voor Azure SQL voor meer informatie.
- Query's voor meerdere databases en meerdere exemplaren met behulp van drie of vier onderdeelnamen. Drie deelnamen die verwijzen naar de
tempdbdatabase en de huidige database worden ondersteund. Elastische query ondersteunt alleen-lezenverwijzingen naar tabellen in andere MSSQL-databases. - Eigendomskoppeling tussen databases en de
TRUSTWORTHYdatabase-eigenschap. -
EXECUTE AS LOGIN. Gebruik in plaats daarvanEXECUTE AS USER. - Extensible Key Management (EKM) voor versleutelingssleutels. Door de klant beheerde TDE-sleutels (Transparent Data Encryption) en Always Encrypted-kolomhoofdsleutels kunnen worden opgeslagen in Azure Key Vault.
- Gebeurtenis: gebeurtenismeldingen, querymeldingen.
- Bestandseigenschappen: Syntaxis met betrekking tot databasebestandsnaam, plaatsing, grootte en andere bestandseigenschappen die automatisch worden beheerd door SQL Database.
- Hoge beschikbaarheid: syntaxis met betrekking tot hoge beschikbaarheid en databaseherstel, die worden beheerd door SQL Database. Dit omvat syntaxis voor back-up, herstellen, AlwaysOn, databasespiegeling, logboekverzending, herstelmodellen.
- Syntaxis met betrekking tot de replicatie van momentopnamen, transactionele en samenvoeging, die niet beschikbaar is in SQL Database. Replicatieabonnementen worden ondersteund.
- Functies:
fn_get_sql,fn_virtualfilestats,fn_virtualservernodes. - Exemplaarconfiguratie: Syntaxis met betrekking tot servergeheugen, werkthreads, CPU-affiniteit, traceringsvlagmen. Gebruik in plaats daarvan servicelagen en rekengrootten.
-
KILL STATS JOB. -
OPENQUERY,OPENDATASOURCEen vierdelige namen. - .NET Framework: CLR-integratie (Common Language Runtime)
- Semantische zoekopdracht
- Serverreferenties: gebruik in plaats daarvan databasereferenties .
- Machtigingen op serverniveau:
GRANT,REVOKEenDENYvan machtigingen op serverniveau worden niet ondersteund. Sommige machtigingen op serverniveau worden vervangen door machtigingen op databaseniveau of impliciet verleend door ingebouwde serverfuncties. Sommige DMV's op serverniveau en catalogusweergaven hebben vergelijkbare weergaven op databaseniveau. SET REMOTE_PROC_TRANSACTIONSSHUTDOWNsp_addmessage-
sp_configureenRECONFIGURE. ALTER DATABASE SCOPED CONFIGURATION wordt ondersteund. sp_helpusersp_migrate_user_to_contained- SQL Server Agent: syntaxis die afhankelijk is van de SQL Server Agent of de
msdbdatabase: waarschuwingen, operators, centrale beheerservers. Gebruik in plaats daarvan scripting, zoals PowerShell. - SQL Server-controle: gebruik in plaats daarvan SQL Database-controle .
- SQL Server-tracering.
- Traceervlagmen.
- T-SQL-foutopsporing.
- Triggers voor serverbereik of aanmelding.
-
USEinstructie: Als u de databasecontext wilt wijzigen in een andere database, moet u een nieuwe verbinding met die database maken.
Volledige T-SQL-verwijzing
Zie Transact-SQL naslaginformatie (Database Engine) voor meer informatie over T-SQL-grammatica, -gebruik en -voorbeelden.
Over de tags 'Van toepassing op'.
De T-SQL-verwijzing bevat artikelen met betrekking tot alle recente SQL Server-versies. Onder de titel van het artikel ziet u een pictogrambalk met MSSQL-platforms en geeft u de toepasbaarheid aan. Er zijn bijvoorbeeld beschikbaarheidsgroepen geïntroduceerd in SQL Server 2012. Het artikel CREATE AVAILABILITY GROUP geeft aan dat de instructie van toepassing is op SQL Server (vanaf 2012). De instructie is niet van toepassing op SQL Server 2008, SQL Server 2008 R2, Azure SQL Database, Azure Synapse Analytics of Parallel Data Warehouse.
In sommige gevallen kan het algemene onderwerp van een artikel worden gebruikt in een product, maar er zijn kleine verschillen tussen producten. De verschillen worden waar nodig aangegeven op middelpunten in het artikel. Het artikel is bijvoorbeeld CREATE TRIGGER beschikbaar in SQL Database. Maar de ALL SERVER optie voor triggers op serverniveau geeft aan dat triggers op serverniveau niet kunnen worden gebruikt in SQL Database. Gebruik in plaats daarvan triggers op databaseniveau.
Verwante inhoud
- vergelijking van -functies: Azure SQL Database en Azure SQL Managed Instance