Verwaltete Instanz, T-SQL-Unterschiede, Einschränkungen und bekannte ProblemeManaged instance T-SQL differences, limitations and known issues

In diesem Artikel werden die Unterschiede in der Syntax und dem Verhalten zwischen einer verwalteten Azure SQL-Datenbank-Instanz und einer lokalen SQL Server-Datenbank-Engine zusammengefasst und erläutert.This article summarizes and explains the differences in syntax and behavior between Azure SQL Database managed instance and on-premises SQL Server Database Engine. Die Bereitstellungsoption „Verwaltete Instanz“ bietet umfassende Kompatibilität mit einer lokalen SQL Server-Datenbank-Engine.The managed instance deployment option provides high compatibility with on-premises SQL Server Database Engine. Die meisten Features der SQL Server-Datenbank-Engine werden in verwalteten Instanzen unterstützt.Most of the SQL Server database engine features are supported in a managed instance.

Migration

Es gibt einige PaaS-Einschränkungen, die in der verwalteten Instanz eingeführt werden, und einige Verhaltensänderungen im Vergleich zu SQL Server.There are some PaaS limitations that are introduced in Managed Instance and some behaviour changes compared to SQL Server. Die Unterschiede sind in die folgenden Kategorien unterteilt: The differences are divided into the following categories:

Die meisten dieser Features sind architekturbezogene Einschränkungen und stellen Dienstfeatures dar.Most of these features are architectural constraints and represent service features.

Auf dieser Seite werden auch temporäre bekannte Probleme erläutert, die in einer verwalteten Instanz erkannt wurden und in Zukunft behoben werden.This page also explains Temporary known issues that are discovered in managed instance, which will be resolved in the future.

VerfügbarkeitAvailability

Always OnAlways On

Hochverfügbarkeit ist in verwalteten Instanzen integriert und kann von Benutzern nicht gesteuert werden.High availability is built into managed instance and can't be controlled by users. Folgende Anweisungen werden nicht unterstützt:The following statements aren't supported:

BackupBackup

In verwalteten Instanzen werden automatische Sicherungen durchgeführt, sodass Benutzer vollständige COPY_ONLY-Sicherungen für Datenbanken erstellen können.Managed instances have automatic backups, so users can create full database COPY_ONLY backups. Differenzielle, Protokoll- und Dateimomentaufnahme-Sicherungen werden nicht unterstützt.Differential, log, and file snapshot backups aren't supported.

  • Bei verwalteten Instanzen können Sie eine Instanzdatenbank nur in einem Azure Blob Storage-Konto sichern:With a managed instance, you can back up an instance database only to an Azure Blob storage account:
    • Nur BACKUP TO URL wird unterstützt.Only BACKUP TO URL is supported.
    • FILE, TAPE und Sicherungsmedien werden nicht unterstützt.FILE, TAPE, and backup devices aren't supported.
  • Die meisten allgemeinen WITH-Optionen werden unterstützt.Most of the general WITH options are supported.
    • COPY_ONLY ist obligatorisch.COPY_ONLY is mandatory.
    • FILE_SNAPSHOT wird nicht unterstützt.FILE_SNAPSHOT isn't supported.
    • Bandoptionen: REWIND, NOREWIND, UNLOAD und NOUNLOAD werden nicht unterstützt.Tape options: REWIND, NOREWIND, UNLOAD, and NOUNLOAD aren't supported.
    • Protokollspezifische Optionen: NORECOVERY, STANDBY und NO_TRUNCATE werden nicht unterstützt.Log-specific options: NORECOVERY, STANDBY, and NO_TRUNCATE aren't supported.

Einschränkungen:Limitations:

  • Bei verwalteten Instanzen können Sie eine Instanzdatenbank in einer Sicherung mit bis zu 32 Stripes sichern. Dies ist ausreichend für Datenbanken mit bis zu 4 TB, wenn die Sicherungskomprimierung verwendet wird.With a managed instance, you can back up an instance database to a backup with up to 32 stripes, which is enough for databases up to 4 TB if backup compression is used.

  • Sie können BACKUP DATABASE ... WITH COPY_ONLY nicht in einer Datenbank ausführen, die mit vom Dienst verwalteter Transparent Data Encryption (TDE) verschlüsselt ist.You can't execute BACKUP DATABASE ... WITH COPY_ONLY on a database that's encrypted with service-managed Transparent Data Encryption (TDE). Die vom Dienst verwaltete TDE erzwingt die Verschlüsselung von Sicherungen mit einem internen TDE-Schlüssel.Service-managed TDE forces backups to be encrypted with an internal TDE key. Der Schlüssel kann nicht exportiert werden, daher können Sie die Sicherung nicht wiederherstellen.The key can't be exported, so you can't restore the backup. Verwenden Sie automatische Sicherungen und die Point-in-Time-Wiederherstellung, oder verwenden Sie stattdessen vom Kunden verwaltete Transparent Data Encryption – BYOK (Bring Your Own Key).Use automatic backups and point-in-time restore, or use customer-managed (BYOK) TDE instead. Sie können die Verschlüsselung für die Datenbank auch deaktivieren.You also can disable encryption on the database.

  • Die maximale Stripegröße für Sicherungen mit dem Befehl BACKUP in einer verwalteten Instanz beträgt 195 GB. Dies ist die maximale Blobgröße.The maximum backup stripe size by using the BACKUP command in a managed instance is 195 GB, which is the maximum blob size. Erhöhen Sie die Anzahl der Stripes im Sicherungsbefehl, um die einzelne Stripegröße zu verringern und diese Einschränkung einzuhalten.Increase the number of stripes in the backup command to reduce individual stripe size and stay within this limit.

    Tipp

    Um diese Einschränkung beim Sichern einer Datenbank von SQL Server in einer lokalen Umgebung oder auf einem virtuellen Computer zu umgehen, haben Sie folgende Möglichkeiten:To work around this limitation, when you back up a database from either SQL Server in an on-premises environment or in a virtual machine, you can:

    • Führen Sie die Sicherung mit DISK anstatt mit URL aus.Back up to DISK instead of backing up to URL.
    • Laden Sie die Sicherungsdateien in Blob Storage hoch.Upload the backup files to Blob storage.
    • Stellen Sie die Daten in der verwalteten Instanz wieder her.Restore into the managed instance.

    Der Befehl Restore in einer verwalteten Instanz unterstützt höhere Blobgrößen in den Sicherungsdateien, da für die Speicherung der hochgeladenen Sicherungsdateien ein anderer Blobtyp verwendet wird.The Restore command in a managed instance supports bigger blob sizes in the backup files because a different blob type is used for storage of the uploaded backup files.

Informationen zu Sicherungen mithilfe von T-SQL finden Sie unter BACKUP.For information about backups using T-SQL, see BACKUP.

SicherheitSecurity

ÜberwachungAuditing

Die wichtigsten Unterschiede zwischen der Überwachung in Datenbanken in Azure SQL-Datenbank und SQL Server:The key differences between auditing in databases in Azure SQL Database and databases in SQL Server are:

  • Bei der Bereitstellungsoption „Verwaltete Instanz“ in Azure SQL-Datenbank wird die Überwachung auf Serverebene ausgeführt.With the managed instance deployment option in Azure SQL Database, auditing works at the server level. Die .xel-Protokolldateien werden in Azure Blob Storage gespeichert.The .xel log files are stored in Azure Blob storage.
  • Bei Bereitstellungen als Singleton und in Pools für elastische Datenbanken in Azure SQL-Datenbank erfolgt die Überwachung auf Datenbankebene.With the single database and elastic pool deployment options in Azure SQL Database, auditing works at the database level.
  • In einer SQL Server-Instanz auf lokalen oder virtuellen Computern wird die Überwachung auf Serverebene ausgeführt.In SQL Server on-premises or virtual machines, auditing works at the server level. Ereignisse werden in Dateisystem- oder Windows-Ereignisprotokollen gespeichert.Events are stored on file system or Windows event logs.

Die XEvent-Überwachung in einer verwalteten Instanz unterstützt Azure Blob Storage-Ziele.XEvent auditing in managed instance supports Azure Blob storage targets. Dateiprotokolle und Windows-Protokolle werden nicht unterstützt.File and Windows logs aren't supported.

Wichtigste Unterschiede in der Syntax von CREATE AUDIT zur Überwachung in Azure Blob Storage:The key differences in the CREATE AUDIT syntax for auditing to Azure Blob storage are:

  • Mit der neuen Syntax TO URL können Sie die URL des Azure Blob Storage-Containers angeben, in dem die .xel-Dateien gespeichert werden.A new syntax TO URL is provided that you can use to specify the URL of the Azure Blob storage container where the .xel files are placed.
  • Die Syntax TO FILE wird nicht unterstützt, weil verwaltete Instanzen nicht auf Windows-Dateifreigaben zugreifen können.The syntax TO FILE isn't supported because a managed instance can't access Windows file shares.

Weitere Informationen finden Sie unterFor more information, see:

ZertifikateCertificates

Eine verwaltete Instanz kann nicht auf Dateifreigaben und Windows-Ordner zugreifen. Daher gelten folgende Einschränkungen:A managed instance can't access file shares and Windows folders, so the following constraints apply:

  • Die CREATE FROM/BACKUP TO-Datei wird für Zertifikate nicht unterstützt.The CREATE FROM/BACKUP TO file isn't supported for certificates.
  • Das CREATE/BACKUP-Zertifikat aus FILE/ASSEMBLY wird nicht unterstützt.The CREATE/BACKUP certificate from FILE/ASSEMBLY isn't supported. Dateien mit privaten Schlüsseln können nicht verwendet werden.Private key files can't be used.

Siehe CREATE CERTIFICATE und BACKUP CERTIFICATE.See CREATE CERTIFICATE and BACKUP CERTIFICATE.

Problemumgehung: Erstellen Sie ein Skript für das Zertifikat oder den privaten Schlüssel, speichern Sie es als SQL-Datei, und erstellen Sie das Zertifikat aus der Binärdatei:Workaround: Script for the certificate or private key, store as .sql file, and create from binary:

CREATE CERTIFICATE  
   FROM BINARY = asn_encoded_certificate
WITH PRIVATE KEY (<private_key_options>)

AnmeldeinformationCredential

Nur Azure Key Vault- und SHARED ACCESS SIGNATURE-Identitäten werden unterstützt.Only Azure Key Vault and SHARED ACCESS SIGNATURE identities are supported. Windows-Benutzer werden nicht unterstützt.Windows users aren't supported.

Siehe CREATE CREDENTIAL und ALTER CREDENTIAL.See CREATE CREDENTIAL and ALTER CREDENTIAL.

KryptografieanbieterCryptographic providers

Eine verwaltete Instanz kann nicht auf Dateien zugreifen. Daher können keine Kryptografieanbieter erstellt werden:A managed instance can't access files, so cryptographic providers can't be created:

Anmeldungen und BenutzerLogins and users

  • Mithilfe von FROM CERTIFICATE, FROM ASYMMETRIC KEY und FROM SID erstellte SQL-Anmeldungen werden unterstützt.SQL logins created by using FROM CERTIFICATE, FROM ASYMMETRIC KEY, and FROM SID are supported. Siehe CREATE LOGIN.See CREATE LOGIN.

  • Azure Active Directory-Dienstprinzipale (Anmeldungen), die mit der Syntax CREATE LOGIN oder der Syntax CREATE USER FROM LOGIN [Azure AD-Anmeldung] erstellt wurden, werden unterstützt (öffentliche Vorschau).Azure Active Directory (Azure AD) server principals (logins) created with the CREATE LOGIN syntax or the CREATE USER FROM LOGIN [Azure AD Login] syntax are supported (public preview). Diese Anmeldungen werden auf Serverebene erstellt.These logins are created at the server level.

    Verwaltete Instanzen unterstützen Azure AD-Datenbankprinzipale mit der Syntax CREATE USER [AADUser/AAD group] FROM EXTERNAL PROVIDER.Managed instance supports Azure AD database principals with the syntax CREATE USER [AADUser/AAD group] FROM EXTERNAL PROVIDER. Dieses Feature wird auch als Azure AD-Benutzer für eigenständige Datenbanken bezeichnet.This feature is also known as Azure AD contained database users.

  • Windows-Anmeldungen, die mit der Syntax CREATE LOGIN ... FROM WINDOWS erstellt wurden, werden nicht unterstützt.Windows logins created with the CREATE LOGIN ... FROM WINDOWS syntax aren't supported. Verwenden Sie Azure Active Directory-Anmeldungen und -Benutzer.Use Azure Active Directory logins and users.

  • Der Azure AD-Benutzer, der die Instanz erstellt hat, verfügt über uneingeschränkte Administratorrechte.The Azure AD user who created the instance has unrestricted admin privileges.

  • Azure AD-Benutzer auf Datenbankebene ohne Administratorrechte können mit der Syntax CREATE USER ... FROM EXTERNAL PROVIDER erstellt werden.Non-administrator Azure AD database-level users can be created by using the CREATE USER ... FROM EXTERNAL PROVIDER syntax. Siehe CREATE USER ... FROM EXTERNAL PROVIDER.See CREATE USER ... FROM EXTERNAL PROVIDER.

  • Azure AD-Serverprinzipale (Anmeldungen) unterstützen SQL-Funktionen nur innerhalb einer verwalteten Instanz.Azure AD server principals (logins) support SQL features within one managed instance only. Funktionen, die eine instanzübergreifende Interaktion erfordern – unabhängig davon, ob innerhalb desselben Azure AD-Mandanten oder in verschiedenen Mandanten –, werden für Azure AD-Benutzer nicht unterstützt.Features that require cross-instance interaction, no matter whether they're within the same Azure AD tenant or different tenants, aren't supported for Azure AD users. Beispiele für solche Funktionen:Examples of such features are:

    • SQL-TransaktionsreplikationSQL transactional replication.
    • LinkserverLink server.
  • Das Festlegen einer Azure AD-Anmeldung, die einer Azure AD-Gruppe zugeordnet ist, als Besitzer der Datenbank wird nicht unterstützt.Setting an Azure AD login mapped to an Azure AD group as the database owner isn't supported.

  • Identitätswechsel von Azure AD-Prinzipalen auf Serverebene unter Verwendung anderer Azure AD-Prinzipale werden unterstützt, z.B. in der EXECUTE AS-Klausel.Impersonation of Azure AD server-level principals by using other Azure AD principals is supported, such as the EXECUTE AS clause. Einschränkung für EXECUTE AS:EXECUTE AS limitations are:

    • EXECUTE AS USER wird für Azure AD-Benutzer nicht unterstützt, wenn der Name sich vom Anmeldenamen unterscheidet.EXECUTE AS USER isn't supported for Azure AD users when the name differs from the login name. Beispiel: Der Benutzer wird über die Syntax CREATE USER [meinAADBenutzer] FROM LOGIN [john@contoso.com] erstellt, und es wird ein Identitätswechsel über EXEC AS USER = meinAADBenutzer versucht.An example is when the user is created through the syntax CREATE USER [myAadUser] FROM LOGIN [john@contoso.com] and impersonation is attempted through EXEC AS USER = myAadUser. Wenn Sie einen Benutzer (USER) auf der Grundlage eines Azure AD-Serverprinzipals (Anmeldung) erstellen, müssen Sie als Benutzernamen den gleichen Anmeldenamen angeben wie in der Anmeldung (LOGIN).When you create a USER from an Azure AD server principal (login), specify the user_name as the same login_name from LOGIN.

    • Die folgenden Vorgänge für Azure AD-Prinzipale können nur von Prinzipalen (Anmeldungen) auf SQL Server-Ebene ausgeführt werden, die der Rolle sysadmin angehören:Only the SQL Server-level principals (logins) that are part of the sysadmin role can execute the following operations that target Azure AD principals:

      • EXECUTE AS USEREXECUTE AS USER
      • EXECUTE AS LOGINEXECUTE AS LOGIN
  • Einschränkungen der öffentlichen Vorschau für Azure AD-Serverprinzipale (Anmeldungen):Public preview limitations for Azure AD server principals (logins):

    • Einschränkungen für Active Directory-Administratoren für verwaltete Instanzen:Active Directory admin limitations for managed instance:

      • Der Azure AD-Administrator, der zum Einrichten der verwalteten Instanz verwendet wurde, kann nicht zum Erstellen eines Azure AD-Serverprinzipals (Anmeldung) innerhalb der verwalteten Instanz verwendet werden.The Azure AD admin used to set up the managed instance can't be used to create an Azure AD server principal (login) within the managed instance. Sie müssen den ersten Azure AD-Serverprinzipal (Anmeldung) mit einem SQL Server-Konto erstellen, das die Rolle sysadmin besitzt.You must create the first Azure AD server principal (login) by using a SQL Server account that's a sysadmin role. Diese temporäre Einschränkung wird aufgehoben, wenn Azure AD-Serverprinzipale (Anmeldungen) allgemein verfügbar sind.This temporary limitation will be removed after Azure AD server principals (logins) become generally available. Wenn Sie versuchen, die Anmeldung mit einem Azure AD-Administratorkonto zu erstellen, wird der folgende Fehler angezeigt: Msg 15247, Level 16, State 1, Line 1 User does not have permission to perform this action.If you try to use an Azure AD admin account to create the login, you see the following error: Msg 15247, Level 16, State 1, Line 1 User does not have permission to perform this action.

        • Derzeit muss die erste Azure AD-Anmeldung in der Masterdatenbank unter Verwendung von CREATE LOGIN FROM EXTERNAL PROVIDER durch das SQL Server-Standardkonto (nicht Azure AD) erstellt werden, das die Rolle sysadmin besitzt.Currently, the first Azure AD login created in the master database must be created by the standard SQL Server account (non-Azure AD) that's a sysadmin role by using CREATE LOGIN FROM EXTERNAL PROVIDER. Wenn dieses Feature allgemein verfügbar ist, wird diese Einschränkung aufgehoben.After general availability, this limitation will be removed. Dann können Sie die erste Azure AD-Anmeldung mit dem Active Directory-Administrator für die verwaltete Instanz erstellen.Then you can create an initial Azure AD login by using the Active Directory admin for managed instance.
      • DacFx (exportieren/importieren) in Verbindung mit SQL Server Management Studio (SSMS) oder SqlPackage wird für Azure AD-Anmeldungen nicht unterstützt.DacFx (export/import) used with SQL Server Management Studio or SqlPackage isn't supported for Azure AD logins. Diese Einschränkung wird aufgehoben, wenn Azure AD-Serverprinzipale (Anmeldungen) allgemein verfügbar sind.This limitation will be removed after Azure AD server principals (logins) become generally available.

      • Verwenden von Azure AD-Serverprinzipalen (Anmeldungen) mit SQL Server Management Studio:Using Azure AD server principals (logins) with SQL Server Management Studio:

        • Das Erstellen von Azure AD-Anmeldungen per Skript, die eine beliebige authentifizierte Anmeldung verwenden, wird nicht unterstützt.Scripting Azure AD logins that use any authenticated login isn't supported.
        • IntelliSense erkennt die Anweisung CREATE LOGIN FROM EXTERNAL PROVIDER nicht und zeigt eine rote Unterstreichung an.IntelliSense doesn't recognize the CREATE LOGIN FROM EXTERNAL PROVIDER statement and shows a red underline.
  • Nur die Prinzipalanmeldung auf Serverebene, die vom Bereitstellungsprozess der verwalteten Instanz, von Mitgliedern der Serverrollen, z.B. securityadmin oder sysadmin, oder von anderen Anmeldungen mit ALTER ANY LOGIN-Berechtigung auf Serverebene erstellt wurde, kann Azure AD-Serverprinzipale (Anmeldungen) in der Masterdatenbank für die verwaltete Instanz erstellen.Only the server-level principal login, which is created by the managed instance provisioning process, members of the server roles, such as securityadmin or sysadmin, or other logins with ALTER ANY LOGIN permission at the server level can create Azure AD server principals (logins) in the master database for managed instance.

  • Wenn es sich bei der Anmeldung um einen SQL-Prinzipal handelt, können nur Anmeldungen, die der Rolle sysadmin angehören, den Befehl „create“ verwenden, um Anmeldungen für ein Azure AD-Konto zu erstellen.If the login is a SQL principal, only logins that are part of the sysadmin role can use the create command to create logins for an Azure AD account.

  • Die Azure AD-Anmeldung muss Mitglied einer Azure AD-Instanz im selben Verzeichnis sein, das auch für die verwaltete Azure SQL-Datenbank-Instanz verwendet wird.The Azure AD login must be a member of an Azure AD within the same directory that's used for Azure SQL Database managed instance.

  • Azure AD-Serverprinzipale (Anmeldungen) werden ab SQL Server Management Studio 18.0 Preview 5 im Objekt-Explorer angezeigt.Azure AD server principals (logins) are visible in Object Explorer starting with SQL Server Management Studio 18.0 preview 5.

  • Das Überlappen von Azure AD-Serverprinzipalen (Anmeldungen) mit einem Azure AD-Administratorkonto ist zulässig.Overlapping Azure AD server principals (logins) with an Azure AD admin account is allowed. Azure AD-Serverprinzipale (Anmeldungen) haben beim Auflösen des Prinzipals und beim Anwenden der Berechtigungen auf die verwaltete Instanz Vorrang vor Azure AD-Administratoren.Azure AD server principals (logins) take precedence over the Azure AD admin when you resolve the principal and apply permissions to the managed instance.

  • Während der Authentifizierung wird die folgende Reihenfolge angewendet, um den authentifizierenden Prinzipal aufzulösen:During authentication, the following sequence is applied to resolve the authenticating principal:

    1. Wenn das Azure AD-Konto direkt dem Azure AD-Serverprinzipal (Anmeldung) zugeordnet ist, der in „sys.server_principals“ als Typ „E“ vorhanden ist, wird der Zugriff gewährt, und die Berechtigungen des Azure AD-Serverprinzipals (Anmeldung) werden angewendet.If the Azure AD account exists as directly mapped to the Azure AD server principal (login), which is present in sys.server_principals as type "E," grant access and apply permissions of the Azure AD server principal (login).
    2. Wenn das Azure AD-Konto Mitglied einer Azure AD-Gruppe ist, die dem Azure AD-Serverprinzipal (Anmeldung) zugeordnet ist – in „sys.server_principals“ als Typ „X“ vorhanden –, wird der Zugriff gewährt, und die Berechtigungen der Azure AD-Gruppenanmeldung werden angewendet.If the Azure AD account is a member of an Azure AD group that's mapped to the Azure AD server principal (login), which is present in sys.server_principals as type "X," grant access and apply permissions of the Azure AD group login.
    3. Wenn das Azure AD-Konto ein speziell im Portal konfigurierter Azure AD-Administrator für die verwaltete Instanz ist, die in den Systemansichten der verwalteten Instanz nicht vorhanden ist, werden spezielle feste Berechtigungen des Azure AD-Administrators für die verwaltete Instanz angewendet (Legacymodus).If the Azure AD account is a special portal-configured Azure AD admin for managed instance, which doesn't exist in managed instance system views, apply special fixed permissions of the Azure AD admin for managed instance (legacy mode).
    4. Wenn das Azure AD-Konto direkt einem Azure AD-Benutzer in einer Datenbank zugeordnet ist, die in „sys.database_principals“ als Typ „E“ vorhanden ist, wird der Zugriff gewährt, und die Berechtigungen des Azure AD-Datenbankbenutzers werden angewendet.If the Azure AD account exists as directly mapped to an Azure AD user in a database, which is present in sys.database_principals as type "E," grant access and apply permissions of the Azure AD database user.
    5. Wenn das Azure AD-Konto Mitglied einer Azure AD-Gruppe ist, die einem Azure AD-Benutzer in einer Datenbank zugeordnet ist – in „sys.database_principals“ als Typ „X“ vorhanden –, wird der Zugriff gewährt, und die Berechtigungen der Azure AD-Gruppenanmeldung werden angewendet.If the Azure AD account is a member of an Azure AD group that's mapped to an Azure AD user in a database, which is present in sys.database_principals as type "X," grant access and apply permissions of the Azure AD group login.
    6. Wenn eine Azure AD-Anmeldung einem Azure AD-Benutzerkonto oder einem Azure AD-Gruppenkonto zugeordnet ist, das zu dem authentifizierenden Benutzer aufgelöst werden kann, werden alle Berechtigungen dieser Azure AD-Anmeldung angewendet.If there's an Azure AD login mapped to either an Azure AD user account or an Azure AD group account, which resolves to the user who's authenticating, all permissions from this Azure AD login are applied.

Dienstschlüssel und DiensthauptschlüsselService key and service master key

KonfigurationConfiguration

PufferpoolerweiterungBuffer pool extension

CollationCollation

Die standardmäßige Instanzsortierung ist SQL_Latin1_General_CP1_CI_AS, sie kann als Erstellungsparameter angegeben werden.The default instance collation is SQL_Latin1_General_CP1_CI_AS and can be specified as a creation parameter. Siehe Sortierungen.See Collations.

KompatibilitätsgradeCompatibility levels

  • Folgende Kompatibilitätsgrade werden unterstützt: 100, 110, 120, 130, 140 und 150.Supported compatibility levels are 100, 110, 120, 130, 140 and 150.
  • Kompatibilitätsgrade unter 100 werden nicht unterstützt.Compatibility levels below 100 aren't supported.
  • Der standardmäßige Kompatibilitätsgrad für neue Datenbanken ist 140.The default compatibility level for new databases is 140. Bei wiederhergestellten Datenbanken bleibt der Kompatibilitätsgrad unverändert, wenn er zuvor bei 100 und höher lag.For restored databases, the compatibility level remains unchanged if it was 100 and above.

Siehe ALTER DATABASE-Kompatibilitätsgrad.See ALTER DATABASE Compatibility Level.

DatenbankspiegelungDatabase mirroring

Die Datenbankspiegelung wird nicht unterstützt.Database mirroring isn't supported.

  • Die Optionen ALTER DATABASE SET PARTNER und SET WITNESS werden nicht unterstützt.ALTER DATABASE SET PARTNER and SET WITNESS options aren't supported.
  • CREATE ENDPOINT … FOR DATABASE_MIRRORING wird nicht unterstützt.CREATE ENDPOINT … FOR DATABASE_MIRRORING isn't supported.

Weitere Informationen finden Sie unter ALTER DATABASE SET PARTNER und SET WITNESS und CREATE ENDPOINT … FOR DATABASE_MIRRORING.For more information, see ALTER DATABASE SET PARTNER and SET WITNESS and CREATE ENDPOINT … FOR DATABASE_MIRRORING.

DatenbankoptionenDatabase options

  • Mehrere Protokolldateien werden nicht unterstützt.Multiple log files aren't supported.
  • In-Memory-Objekte werden in der Dienstebene „Universell“ nicht unterstützt.In-memory objects aren't supported in the General Purpose service tier.
  • Es gilt ein Grenzwert von 280 Dateien pro universeller Instanz, d.h. maximal 280 Dateien pro Datenbank.There's a limit of 280 files per General Purpose instance, which implies a maximum of 280 files per database. Auf der Dienstebene „Universell“ zählen sowohl Datendateien als auch Protokolldateien für diesen Grenzwert.Both data and log files in the General Purpose tier are counted toward this limit. Die Dienstebene „Unternehmenskritisch“ unterstützt 32.767 Dateien pro Datenbank.The Business Critical tier supports 32,767 files per database.
  • Eine Datenbank darf keine Dateigruppen mit Filestreamdaten enthalten.The database can't contain filegroups that contain filestream data. Es kann keine Wiederherstellung durchgeführt werden, wenn die BAK-Datei FILESTREAM-Daten enthält.Restore fails if .bak contains FILESTREAM data.
  • Jede Datei wird in Azure Blob Storage gespeichert.Every file is placed in Azure Blob storage. E/A und Durchsatz pro Datei hängen von der Größe der jeweiligen Datei ab.IO and throughput per file depend on the size of each individual file.

CREATE DATABASE-AnweisungCREATE DATABASE statement

Für CREATE DATABASE gelten die folgenden Einschränkungen:The following limitations apply to CREATE DATABASE:

  • Dateien und Dateigruppen können nicht definiert werden.Files and filegroups can't be defined.

  • Die CONTAINMENT-Option wird nicht unterstützt.The CONTAINMENT option isn't supported.

  • WITH-Optionen werden nicht unterstützt.WITH options aren't supported.

    Tipp

    Als Problemumgehung können Sie ALTER DATABASE nach CREATE DATABASE verwenden, um Datenbankoptionen zum Hinzufügen von Dateien oder Festlegen der Eigenständigkeit festzulegen.As a workaround, use ALTER DATABASE after CREATE DATABASE to set database options to add files or to set containment.

  • Die FOR ATTACH-Option wird nicht unterstützt.The FOR ATTACH option isn't supported.

  • Die AS SNAPSHOT OF-Option wird nicht unterstützt.The AS SNAPSHOT OF option isn't supported.

Weitere Informationen finden Sie unter CREATE DATABASE.For more information, see CREATE DATABASE.

ALTER DATABASE-AnweisungALTER DATABASE statement

Einige Dateieigenschaften können nicht festgelegt oder geändert werden:Some file properties can't be set or changed:

  • Der Dateipfad kann nicht in der T-SQL-Anweisung ALTER DATABASE ADD FILE (FILENAME='path') angegeben werden.A file path can't be specified in the ALTER DATABASE ADD FILE (FILENAME='path') T-SQL statement. Entfernen Sie FILENAME aus dem Skript, da die verwaltete Instanz die Dateien automatisch speichert.Remove FILENAME from the script because a managed instance automatically places the files.
  • Der Dateiname kann nicht mithilfe der Anweisung ALTER DATABASE geändert werden.A file name can't be changed by using the ALTER DATABASE statement.

Die folgenden Optionen werden standardmäßig festgelegt und können nicht geändert werden:The following options are set by default and can't be changed:

  • MULTI_USER
  • ENABLE_BROKER ON
  • AUTO_CLOSE OFF

Die folgenden Optionen können nicht geändert werden:The following options can't be modified:

  • AUTO_CLOSE
  • AUTOMATIC_TUNING(CREATE_INDEX=ON|OFF)
  • AUTOMATIC_TUNING(DROP_INDEX=ON|OFF)
  • DISABLE_BROKER
  • EMERGENCY
  • ENABLE_BROKER
  • FILESTREAM
  • HADR
  • NEW_BROKER
  • OFFLINE
  • PAGE_VERIFY
  • PARTNER
  • READ_ONLY
  • RECOVERY BULK_LOGGED
  • RECOVERY_SIMPLE
  • REMOTE_DATA_ARCHIVE
  • RESTRICTED_USER
  • SINGLE_USER
  • WITNESS

Weitere Informationen finden Sie unter ALTER DATABASE.For more information, see ALTER DATABASE.

SQL Server-AgentSQL Server Agent

  • Das Aktivieren und Deaktivieren von SQL Server-Agent wird derzeit in verwalteten Instanzen nicht unterstützt.Enabling and disabling SQL Server Agent is currently not supported in managed instance. Der SQL-Agent wird kontinuierlich ausgeführt.SQL Agent is always running.
  • SQL Server-Agent-Einstellungen sind schreibgeschützt.SQL Server Agent settings are read only. Die Prozedur sp_set_agent_properties wird in einer verwalteten Instanz nicht unterstützt.The procedure sp_set_agent_properties isn't supported in managed instance.
  • AufträgeJobs
    • T-SQL-Auftragsschritte werden unterstützt.T-SQL job steps are supported.
    • Die folgenden Replikationsaufträge werden unterstützt:The following replication jobs are supported:
      • TransaktionsprotokollleserTransaction-log reader
      • MomentaufnahmeSnapshot
      • VerteilerDistributor
    • SSIS-Auftragsschritte werden unterstützt.SSIS job steps are supported.
    • Andere Arten von Auftragsschritten werden derzeit nicht unterstützt:Other types of job steps aren't currently supported:
      • Der Auftragsschritt für die Mergereplikation wird nicht unterstützt.The merge replication job step isn't supported.
      • Der Warteschlangenleser wird nicht unterstützt.Queue Reader isn't supported.
      • Die Befehlsshell wird noch nicht unterstützt.Command shell isn't yet supported.
    • Verwaltete Instanzen können nicht auf externe Ressourcen zugreifen – z.B. auf Netzwerkfreigaben über „robocopy“.Managed instances can't access external resources, for example, network shares via robocopy.
    • SQL Server Analysis Services werden nicht unterstützt.SQL Server Analysis Services aren't supported.
  • Benachrichtigungen werden teilweise unterstützt.Notifications are partially supported.
  • Die E-Mail-Benachrichtigung wird unterstützt. Dazu muss allerdings ein Datenbank-E-Mail-Profil konfiguriert werden.Email notification is supported, although it requires that you configure a Database Mail profile. Der SQL Server-Agent kann nur ein Datenbank-E-Mail-Profil verwenden, für das der Name AzureManagedInstance_dbmail_profile angegeben werden muss.SQL Server Agent can use only one Database Mail profile, and it must be called AzureManagedInstance_dbmail_profile.
    • Pager wird nicht unterstützt.Pager isn't supported.
    • NetSend wird nicht unterstützt.NetSend isn't supported.
    • Warnungen werden noch nicht unterstützt.Alerts aren't yet supported.
    • Proxys werden nicht unterstützt.Proxies aren't supported.
  • EventLog wird nicht unterstützt.EventLog isn't supported.

Die folgenden SQL-Agent-Funktionen werden derzeit nicht unterstützt:The following SQL Agent features currently aren't supported:

  • ProxysProxies
  • Planen von Aufträgen für eine CPU im LeerlaufScheduling jobs on an idle CPU
  • Aktivieren oder Deaktivieren eines AgentsEnabling or disabling an Agent
  • AlertsAlerts

Weitere Informationen zum SQL Server-Agent finden Sie unter SQL Server-Agent.For information about SQL Server Agent, see SQL Server Agent.

TabellenTables

Die folgenden Tabellentypen werden nicht unterstützt:The following table types aren't supported:

Informationen zum Erstellen und Ändern von Tabellen finden Sie unter CREATE TABLE und ALTER TABLE.For information about how to create and alter tables, see CREATE TABLE and ALTER TABLE.

FunktionenFunctionalities

Bulk insert/OPENROWSETBulk insert / OPENROWSET

Eine verwaltete Instanz kann nicht auf Dateifreigaben und Windows-Ordner zugreifen. Daher müssen die Dateien aus Azure Blob Storage importiert werden:A managed instance can't access file shares and Windows folders, so the files must be imported from Azure Blob storage:

  • DATASOURCE ist beim Importieren von Dateien aus Azure Blob Storage im Befehl BULK INSERT erforderlich.DATASOURCE is required in the BULK INSERT command while you import files from Azure Blob storage. Siehe BULK INSERT.See BULK INSERT.
  • DATASOURCE ist beim Lesen von Inhalten einer Datei aus Azure Blob Storage in der Funktion OPENROWSET erforderlich.DATASOURCE is required in the OPENROWSET function when you read the content of a file from Azure Blob storage. Siehe OPENROWSET.See OPENROWSET.

CLRCLR

Eine verwaltete Instanz kann nicht auf Dateifreigaben und Windows-Ordner zugreifen. Daher gelten folgende Einschränkungen:A managed instance can't access file shares and Windows folders, so the following constraints apply:

Datenbank-E-Mail – (db_mail)Database Mail (db_mail)

  • sp_send_dbmail kann keine Anlagen mithilfe des Parameters @file_attachments senden.sp_send_dbmail cannot send attachments using @file_attachments parameter. Aus dieser Prozedur kann auf das lokale Dateisystem und externe Freigaben oder Azure-BLOB-Speicher nicht zugegriffen werden.Local file system and extental shares or Azure blob Storage are not accessible form this procedure.
  • Informieren Sie sich zu den bekannten Problemen im Zusammenhang mit dem Parameter @query und Authentifizierung.See the known issues related to @query parameter and authentication.

DBCCDBCC

Nicht dokumentierte DBCC-Anweisungen, die in SQL Server aktiviert sind, werden in verwalteten Instanzen nicht unterstützt.Undocumented DBCC statements that are enabled in SQL Server aren't supported in managed instances.

  • Nur eine begrenzte Anzahl von globalen Trace flags wird unterstützt.Only a limited number of Global Trace flags is supported. Trace flags auf Sitzungsebene werden nicht unterstützt.Session-level Trace flags aren't supported. Siehe Ablaufverfolgungsflags.See Trace flags.
  • DBCC TRACEOFF und DBCC TRACEON funktionieren mit einer begrenzten Anzahl globaler Ablaufverfolgungsflags.DBCC TRACEOFF and DBCC TRACEON work with the limited number of global trace-flags.
  • DBCC CHECKDB mit den Optionen REPAIR_ALLOW_DATA_LOSS, REPAIR_FAST und REPAIR_REBUILD kann nicht verwendet werden, weil die Datenbank im Modus SINGLE_USER nicht festgelegt werden kann. Siehe ALTER DATABASE-Unterschiede.DBCC CHECKDB with options REPAIR_ALLOW_DATA_LOSS, REPAIR_FAST, and REPAIR_REBUILD cannot be used because database cannot be set in SINGLE_USER mode - see ALTER DATABASE differences. Potenzielle Datenbankbeschädigungen werden vom Azure-Supportteam behandelt.Potential database corruptions are handled by Azure support team. Wenden Sie sich an den Azure-Support, wenn Sie bemerken, dass eine Datenbankbeschädigung vorliegt.Contact Azure support if you are noticing database corruption that should be fixed.

Verteilte TransaktionenDistributed transactions

MS DTC und elastische Transaktionen werden in verwalteten Instanzen derzeit nicht unterstützt.MSDTC and elastic transactions currently aren't supported in managed instances.

Erweiterte EreignisseExtended Events

Einige Windows-spezifische Ziele für XEvents (Erweiterte Ereignisse) werden nicht unterstützt:Some Windows-specific targets for Extended Events (XEvents) aren't supported:

  • Das Ziel etw_classic_sync wird nicht unterstützt.The etw_classic_sync target isn't supported. Speichern Sie .xel-Dateien in Azure Blob Storage.Store .xel files in Azure Blob storage. Siehe etw_classic_sync-Ziel.See etw_classic_sync target.
  • Das Ziel event_file wird nicht unterstützt.The event_file target isn't supported. Speichern Sie .xel-Dateien in Azure Blob Storage.Store .xel files in Azure Blob storage. Siehe event_file-Ziel.See event_file target.

Externe BibliothekenExternal libraries

Datenbankinterne R- und externe Python-Bibliotheken werden noch nicht unterstützt.In-database R and Python, external libraries aren't yet supported. Siehe SQL Server Machine Learning Services.See SQL Server Machine Learning Services.

Filestream und DateitabelleFilestream and FileTable

  • Filestreamdaten werden nicht unterstützt.Filestream data isn't supported.
  • Die Datenbank darf keine Dateigruppen mit FILESTREAM-Daten enthalten.The database can't contain filegroups with FILESTREAM data.
  • FILETABLE wird nicht unterstützt.FILETABLE isn't supported.
  • Tabellen dürfen keine FILESTREAM-Typen enthalten.Tables can't have FILESTREAM types.
  • Die folgenden Funktionen werden nicht unterstützt:The following functions aren't supported:
    • GetPathLocator()
    • GET_FILESTREAM_TRANSACTION_CONTEXT()
    • PathName()
    • GetFileNamespacePat)
    • FileTableRootPath()

Weitere Informationen finden Sie unter FILESTREAM und FileTables.For more information, see FILESTREAM and FileTables.

Die semantische Suche wird nicht unterstützt.Semantic Search isn't supported.

Verknüpfte ServerLinked servers

Verbindungsserver in einer verwalteten Instanz unterstützen eine begrenzte Anzahl von Zielen:Linked servers in managed instances support a limited number of targets:

  • Unterstützte Ziele sind verwaltete Instanzen, einzelne Datenbanken und SQL Server-Instanzen.Supported targets are Managed Instances, Single Databases, and SQL Server instances.
  • Verbindungsserver unterstützen keine verteilten beschreibbaren Transaktionen (MS DTC).Linked servers don't support distributed writable transactions (MS DTC).
  • Nicht unterstützte Ziele sind Dateien, Analysis Services und andere RDBMS.Targets that aren't supported are files, Analysis Services, and other RDBMS. Verwenden Sie einen nativen CSV-Import aus Azure Blob Storage mithilfe von BULK INSERT oder OPENROWSET als Alternative zum Dateiimport.Try to use native CSV import from Azure Blob Storage using BULK INSERT or OPENROWSET as an alternative for file import.

VorgängeOperations

  • Instanzübergreifende Schreibtransaktionen werden nicht unterstützt.Cross-instance write transactions aren't supported.
  • sp_dropserver wird zum Löschen eines Verbindungsservers unterstützt.sp_dropserver is supported for dropping a linked server. Siehe sp_dropserver.See sp_dropserver.
  • Die OPENROWSET-Funktion kann verwendet werden, um Abfragen nur auf SQL Server-Instanzen auszuführen.The OPENROWSET function can be used to execute queries only on SQL Server instances. Diese Instanzen können verwaltet sein oder sich auf lokalen oder virtuellen Computern befinden.They can be either managed, on-premises, or in virtual machines. Siehe OPENROWSET.See OPENROWSET.
  • Die OPENDATASOURCE-Funktion kann verwendet werden, um Abfragen nur auf SQL Server-Instanzen auszuführen.The OPENDATASOURCE function can be used to execute queries only on SQL Server instances. Diese Instanzen können verwaltet sein oder sich auf lokalen oder virtuellen Computern befinden.They can be either managed, on-premises, or in virtual machines. Als Anbieter werden nur die Werte SQLNCLI, SQLNCLI11 und SQLOLEDB unterstützt.Only the SQLNCLI, SQLNCLI11, and SQLOLEDB values are supported as a provider. Ein Beispiel ist SELECT * FROM OPENDATASOURCE('SQLNCLI', '...').AdventureWorks2012.HumanResources.Employee.An example is SELECT * FROM OPENDATASOURCE('SQLNCLI', '...').AdventureWorks2012.HumanResources.Employee. Siehe OPENDATASOURCE.See OPENDATASOURCE.
  • Verbindungsserver können nicht zum Lesen von Dateien (Excel, CSV) aus den Netzwerkfreigaben verwendet werden.Linked servers cannot be used to read files (Excel, CSV) from the network shares. Versuchen Sie es mit BULK INSERT oder OPENROWSET, welche CSV-Dateien aus Azure Blob Storage lesen.Try to use BULK INSERT or OPENROWSET that reads CSV files from Azure Blob Storage. Verfolgen Sie diese Anforderungen im Feedback zu verwalteten Instanzen|.Track this requests on managed instance Feedback item|

PolyBasePolyBase

Externe Tabellen, die auf Dateien in HDFS oder Azure Blob Storage verweisen, werden nicht unterstützt.External tables that reference the files in HDFS or Azure Blob storage aren't supported. Informationen zu PolyBase finden Sie unter PolyBase.For information about PolyBase, see PolyBase.

ReplikationReplication

  • Momentaufnahmen und bidirektionale Replikationstypen werden unterstützt.Snapshot and Bi-directional replication types are supported. Mergereplikation, Peer-zu-Peer-Replikation und aktualisierbare Abonnements werden nicht unterstützt.Merge replication, Peer-to-peer replication, and updatable subscriptions are not supported.
  • Die Transaktionsreplikation ist mit einigen Einschränkungen für die öffentliche Vorschauversion der verwalteten Instanz verfügbar:Transactional Replication is available for public preview on managed instance with some constraints:
    • Alle Replikationsteilnehmertypen (Herausgeber, Verteiler, Pullabonnent und Pushabonnent) können auf der verwalteten Instanz platziert werden. „Herausgeber“ und „Verteiler“ können dabei aber nicht auf unterschiedlichen Instanzen platziert werden.All types of replication participants (Publisher, Distributor, Pull Subscriber, and Push Subscriber) can be placed on managed instances, but Publisher and Distributor cannot be placed on different instances.
    • Verwaltete Instanzen können mit der neuesten SQL Server-Version kommunizieren.Managed instances can communicate with the recent versions of SQL Server. Die unterstützten Versionen finden Sie hier.See the supported versions here.
    • Für die Transaktionsreplikation gibt es einige zusätzliche Netzwerkanforderungen.Transactional Replication has some additional networking requirements.

Weitere Informationen zum Konfigurieren der Replikation finden Sie im Replikationstutorial.For information about configuring replication, see the replication tutorial.

Wenn die Replikation für eine Datenbank in einer Failovergruppe aktiviert ist, muss der Administrator der verwalteten Instanz alle Veröffentlichungen für die alte primäre Instanz bereinigen und nach einem Failover für die neue primäre Instanz erneut konfigurieren.If replication is enabled on a database in a failover group, the managed instance administrator must cleanup all publications on the old primary and reconfigure them on the new primary after a failover occurs. Die folgenden Aktivitäten sind in diesem Szenario erforderlich:The following activities are needed in this scenario:

  1. Beenden aller Replikationsaufträge, die für die Datenbank ausgeführt werden, sofern vorhanden.Stop all replication jobs running on the database, if there are any.

  2. Löschen der Abonnementmetadaten vom Herausgeber, indem das folgende Skript für die Herausgeberdatenbank ausgeführt wird:Drop subscription metadata from publisher by running the following script on publisher database:

    EXEC sp_dropsubscription @publication='<name of publication>', @article='all',@subscriber='<name of subscriber>'
    
  3. Löschen von Abonnementmetadaten aus dem Abonnenten.Drop subscription metadata from the subscriber. Führen Sie das folgende Skript in der Abonnementdatenbank für die Abonnenteninstanz aus:Run the following script in the subscription database on subscriber instance:

    EXEC sp_subscription_cleanup
       @publisher = N'<full DNS of publisher, e.g. example.ac2d23028af5.database.windows.net>', 
       @publisher_db = N'<publisher database>', 
       @publication = N'<name of publication>'; 
    
  4. Erzwingen Sie das Löschen aller Replikationsobjekte aus dem Herausgeber, indem Sie das folgende Skript in der veröffentlichten Datenbank ausführen:Forcefully drop all replication objects from publisher by running the following script in the published database:

    EXEC sp_removedbreplication
    
  5. Erzwingen Sie das Löschen des alten Verteilers aus der ursprünglichen primären Instanz (bei einem Failback auf eine alte primäre Instanz, für die ein Verteiler verwendet wurde).Forcefully drop old distributor from original primary instance (if failing back over to an old primary that used to have a distributor). Führen Sie das folgende Skript für die Masterdatenbank in der alten verwalteten Verteilerinstanz aus:Run the following script on the master database in old distributor managed instance:

    EXEC sp_dropdistributor 1,1
    

RESTORE-AnweisungRESTORE statement

  • Unterstützte Syntax:Supported syntax:
    • RESTORE DATABASE
    • RESTORE FILELISTONLY ONLY
    • RESTORE HEADER ONLY
    • RESTORE LABELONLY ONLY
    • RESTORE VERIFYONLY ONLY
  • Nicht unterstützte Syntax:Unsupported syntax:
    • RESTORE LOG ONLY
    • RESTORE REWINDONLY ONLY
  • Quelle:Source:
    • FROM URL (Azure Blob Storage) ist die einzige unterstützte Option.FROM URL (Azure Blob storage) is the only supported option.
    • FROM DISK/TAPE/Sicherungsmedium wird nicht unterstützt.FROM DISK/TAPE/backup device isn't supported.
    • Sicherungssätze werden nicht unterstützt.Backup sets aren't supported.
  • WITH-Optionen wie DIFFERENTIAL oder STATS werden nicht unterstützt.WITH options aren't supported, such as no DIFFERENTIAL or STATS.
  • ASYNC RESTORE: Die Wiederherstellung wird auch bei einer Unterbrechung der Clientverbindung fortgesetzt.ASYNC RESTORE: Restore continues even if the client connection breaks. Wenn die Verbindung ausfällt, können Sie sich in der Ansicht sys.dm_operation_status über den Status eines Wiederherstellungsvorgangs sowie über CREATE- und DROP-Vorgänge für die Datenbank informieren.If your connection is dropped, you can check the sys.dm_operation_status view for the status of a restore operation, and for a CREATE and DROP database. Siehe sys.dm_operation_status.See sys.dm_operation_status.

Die folgenden Datenbankoptionen werden festgelegt oder überschrieben und können später nicht geändert werden:The following database options are set or overridden and can't be changed later:

  • NEW_BROKER, wenn der Broker in der BAK-Datei nicht aktiviert ist.NEW_BROKER if the broker isn't enabled in the .bak file.
  • ENABLE_BROKER, wenn der Broker in der BAK-Datei nicht aktiviert ist.ENABLE_BROKER if the broker isn't enabled in the .bak file.
  • AUTO_CLOSE=OFF, wenn eine Datenbank in der BAK-Datei AUTO_CLOSE=ON enthält.AUTO_CLOSE=OFF if a database in the .bak file has AUTO_CLOSE=ON.
  • RECOVERY FULL, wenn eine Datenbank in der BAK-Datei den Wiederherstellungsmodus SIMPLE oder BULK_LOGGED enthält.RECOVERY FULL if a database in the .bak file has SIMPLE or BULK_LOGGED recovery mode.
  • Eine speicheroptimierte Dateigruppe wird hinzugefügt und erhält den Namen „XTP“, wenn sie in der BAK-Quelldatei nicht vorhanden war.A memory-optimized filegroup is added and called XTP if it wasn't in the source .bak file.
  • Alle vorhandenen speicheroptimierten Dateigruppen werden in „XTP“ umbenannt.Any existing memory-optimized filegroup is renamed to XTP.
  • Die Optionen SINGLE_USER und RESTRICTED_USER werden zu MULTI_USER konvertiert.SINGLE_USER and RESTRICTED_USER options are converted to MULTI_USER.

Einschränkungen:Limitations:

  • Sicherungen der beschädigten Datenbanken werden je nach Art der Beschädigung möglicherweise wiederhergestellt, automatisierte Sicherungen werden jedoch erst ausgeführt, nachdem die Beschädigung behoben wurde.Backups of the corrupted databases might be restored depending on the type of the corruption, but automated backups will not be taken until the corruption is fixed. Stellen Sie sicher, dass Sie DBCC CHECKDB für die Quellinstanz ausführen und für die Sicherung WITH CHECKSUM verwenden, um dieses Problem zu vermeiden.Make sure that you run DBCC CHECKDB on the source instance and use backup WITH CHECKSUM in order to prevent this issue.
  • Die Wiederherstellung der .BAK-Datei einer Datenbank, die eine in diesem Dokument beschriebene Einschränkung enthält (z.B. FILESTREAM- oder FILETABLE-Objekte), kann in der verwalteten Instanz nicht wiederhergestellt werden.Restore of .BAK file of a database that contains any limitation described in this document (for example, FILESTREAM or FILETABLE objects) cannot be restored on Managed Instance.
  • .BAK-Dateien mit mehreren Sicherungssätzen können nicht wiederhergestellt werden..BAK files that contain multiple backup sets can't be restored.
  • .BAK-Dateien mit mehreren Protokolldateien können nicht wiederhergestellt werden..BAK files that contain multiple log files can't be restored.
  • Sicherungen, die Datenbanken mit einer Größe von mehr als 8 TB, aktive OLTP-In-Memory-Objekte oder mehr als 280 Dateien enthalten, können in einer universellen Instanz nicht wiederhergestellt werden.Backups that contain databases bigger than 8TB, active in-memory OLTP objects, or more than 280 files can't be restored on a General Purpose instance.
  • Sicherungen, die Datenbanken mit mehr als 4 TB oder OLTP-In-Memory-Objekte enthalten, deren Gesamtgröße größer ist als die unter Ressourcenbeschränkungen beschriebene Größe, können in der unternehmenskritischen Instanz nicht wiederhergestellt werden.Backups that contain databases bigger than 4TB or in-memory OLTP objects with the total size larger than the size described in resource limits cannot be restored on Business Critical instance. Weitere Informationen zu Anweisungen für Wiederherstellungen finden Sie unter RESTORE-Anweisungen.For information about restore statements, see RESTORE statements.

Service BrokerService broker

Der instanzübergreifende Service Broker wird nicht unterstützt:Cross-instance service broker isn't supported:

  • sys.routes: Als Voraussetzung müssen Sie die Adresse aus „sys.routes“ auswählen.sys.routes: As a prerequisite, you must select the address from sys.routes. Die Adresse muss für jede Route auf LOCAL festgelegt sein.The address must be LOCAL on every route. Siehe sys.routes.See sys.routes.
  • CREATE ROUTE: Sie können CREATE ROUTE nicht mit einer anderen ADDRESS als LOCAL verwenden.CREATE ROUTE: You can't use CREATE ROUTE with ADDRESS other than LOCAL. Siehe CREATE ROUTE.See CREATE ROUTE.
  • ALTER ROUTE: Sie können ALTER ROUTE nicht mit einer anderen ADDRESS als LOCAL verwenden.ALTER ROUTE: You can't use ALTER ROUTE with ADDRESS other than LOCAL. Siehe ALTER ROUTE.See ALTER ROUTE.

Gespeicherte Prozeduren, Funktionen und TriggerStored procedures, functions, and triggers

Systemfunktionen und VariablenSystem functions and variables

Die folgenden Variablen, Funktionen und Sichten geben abweichende Ergebnisse zurück:The following variables, functions, and views return different results:

  • SERVERPROPERTY('EngineEdition') gibt den Wert 8 zurück.SERVERPROPERTY('EngineEdition') returns the value 8. Durch diese Eigenschaft wird eine verwaltete Instanz eindeutig identifiziert.This property uniquely identifies a managed instance. Siehe SERVERPROPERTY.See SERVERPROPERTY.
  • SERVERPROPERTY('InstanceName') gibt NULL zurück, weil das für SQL Server bestehende Konzept der Instanz für verwaltete Instanzen nicht gilt.SERVERPROPERTY('InstanceName') returns NULL because the concept of instance as it exists for SQL Server doesn't apply to a managed instance. Siehe SERVERPROPERTY('InstanceName').See SERVERPROPERTY('InstanceName').
  • @@SERVERNAME gibt den vollständigen „verbindungsfähigen“ DNS-Namen zurück, z.B. „meine-verwaltete-instanz.wcus17662feb9ce98.database.windows.net“.@@SERVERNAME returns a full DNS "connectable" name, for example, my-managed-instance.wcus17662feb9ce98.database.windows.net. Siehe @@SERVERNAME.See @@SERVERNAME.
  • SYS.SERVERS gibt den vollständigen „verbindungsfähigen“ DNS-Namen zurück, z.B. myinstance.domain.database.windows.net für die Eigenschaften „name“ und „data_source“.SYS.SERVERS returns a full DNS "connectable" name, such as myinstance.domain.database.windows.net for the properties "name" and "data_source." Siehe SYS.SERVERS.See SYS.SERVERS.
  • @@SERVICENAME gibt NULL zurück, weil das für SQL Server bestehende Konzept des Diensts für verwaltete Instanzen nicht gilt.@@SERVICENAME returns NULL because the concept of service as it exists for SQL Server doesn't apply to a managed instance. Siehe @@SERVICENAME.See @@SERVICENAME.
  • SUSER_ID wird unterstützt.SUSER_ID is supported. Gibt NULL zurück, wenn die Azure AD-Anmeldung in „sys.syslogins“ nicht vorhanden ist.It returns NULL if the Azure AD login isn't in sys.syslogins. Siehe SUSER_ID.See SUSER_ID.
  • SUSER_SID wird nicht unterstützt.SUSER_SID isn't supported. Es werden falsche Daten zurückgegeben. Dies ist ein bekanntes vorübergehendes Problem.The wrong data is returned, which is a temporary known issue. Siehe SUSER_SID.See SUSER_SID.

UmgebungseinschränkungenEnvironment constraints

SubnetSubnet

VNETVNET

  • VNet kann mithilfe des Ressourcenmodells bereitgestellt werden – das klassische Modell wird für VNets nicht unterstützt.VNet can be deployed using Resource Model - Classic Model for VNet is not supported.
  • Nachdem eine verwaltete Instanz erstellt wurde, wird das Verschieben dieser Instanz oder des VNET in eine andere Ressourcengruppe oder ein anderes Abonnement nicht unterstützt.After a managed instance is created, moving the managed instance or VNet to another resource group or subscription is not supported.
  • Einige Dienste, wie App Service-Umgebungen, Logik-Apps und verwaltete Instanzen (die für Georeplikation, Transaktionsreplikation oder über Verbindungsserver verwendet werden) können nicht auf verwaltete Instanzen in anderen Regionen zugreifen, wenn ihre VNETs mithilfe von globalem Peering verbunden sind.Some services such as App Service Environments, Logic apps, and managed instances (used for Geo-replication, Transactional replication, or via linked servers) cannot access managed instances in different regions if their VNets are connected using global peering. Sie können sich mit diesen Ressourcen über ExpressRoute oder VNET-zu-VNET über VNet-Gateways verbinden.You can connect to these resources via ExpressRoute or VNet-to-VNet through VNet Gateways.

TEMPDBTEMPDB

Die maximale Dateigröße von tempdb darf in der Dienstebene „Universell“ 24 GB pro Kern nicht überschreiten.The maximum file size of tempdb can't be greater than 24 GB per core on a General Purpose tier. Die maximale Größe von tempdb ist in der Dienstebene „Unternehmenskritisch“ auf die Speichergröße der Instanz begrenzt.The maximum tempdb size on a Business Critical tier is limited by the instance storage size. Die Größe der Protokolldatei Tempdb ist für die Ebenen „Universell“ und „Unternehmenskritisch“ auf 120 GB beschränkt.Tempdb log file size is limited to 120 GB both on General Purpose and Business Critical tiers. Einige Abfragen geben möglicherweise einen Fehler zurück, wenn für sie mehr als 24 GB pro Kern in tempdb erforderlich sind oder die erstellten Protokolldaten mehr als 120 GB benötigen.Some queries might return an error if they need more than 24 GB per core in tempdb or if they produce more than 120 GB of log data.

FehlerprotokolleError logs

Eine verwaltete Instanz stellt ausführliche Informationen in Fehlerprotokollen zur Verfügung.A managed instance places verbose information in error logs. Es gibt viele interne Systemereignisse, die im Fehlerprotokoll protokolliert werden.There are many internal system event that are logged in the error log. Verwenden Sie zum Lesen von Fehlerprotokollen eine benutzerdefinierte Prozedur, die einige nicht relevante Einträge herausfiltert.Use a custom procedure to read error logs that filters out some irrelevant entries. Weitere Informationen finden Sie unter Verwaltete Instanz – sp_readmierrorlog.For more information, see managed instance – sp_readmierrorlog.

Bekannte ProblemeKnown issues

Resource Governor auf Dienstebene „Unternehmenskritisch“ muss möglicherweise nach einem Failover neu konfiguriert werdenResource Governor on Business Critical service tier might need to be reconfigured after failover

Datum: September 2019Date: Sep 2019

Die Funktion Resource Governor, die Ihnen ermöglicht, die der Benutzerworkload zugewiesenen Ressourcen einzuschränken, könnte eine andere Benutzerworkload nach einem Failover oder einer vom Benutzer initiierten Änderung der Dienstebene (z. B. Änderung der maximalen virtuellen Kerne oder maximalen Instanzspeichergröße) falsch klassifizieren.Resource Governor feature that enables you to limit the resources assigned to the user workload might incorrectly classify some user workload after failover or user-initiated change of service tier (for example, the change of max vCore or max instance storage size).

Problemumgehung: Führen Sie ALTER RESOURCE GOVERNOR RECONFIGURE regelmäßig oder als Teil des SQL Agent-Auftrags aus, der den SQL-Task ausführt, wenn die Instanz gestartet wird, wenn Sie Resource Governor verwenden.Workaround: Run ALTER RESOURCE GOVERNOR RECONFIGURE periodically or as part of SQL Agent Job that executes the SQL task when the instance starts if you are using Resource Governor.

Authentifizierung bei externem E-Mail-Servern mit sicherer Verbindung (SSL) nicht möglich.Cannot authenicate to external mail servers using secure connection (SSL)

Datum: August 2019Date: Aug 2019

Datenbank-E-Mail, die mit sicherer Verbindung (Secure Connection, SSL) konfiguriert wurde, kann sich bei einigen E-Mail-Servern außerhalb von Azure nicht authentifizieren.Database mail that is configured using secure connection (SSL) cannot authenticate on some email servers outside the Azure. Dies ist ein Sicherheitskonfigurationsproblem, das bald behoben sein wird.This is security configuration issue that will be resolved soon.

Problemumgehung: Entfernen Sie die sichere Verbindung (SSL) vorübergehend aus der Datenbank-E-Mail-Konfiguration, bis das Problem behoben wurde.Workaround: Temporary remove secure connection (SSL) form the database mail configuration until the issue gets resolved.

Datenbankübergreifende Service Broker-Dialoge müssen nach dem Upgrade der Dienstebene erneut initialisiert werden.Cross-database Service Broker dialogs must be re-initialized after service tier upgrade

Datum: August 2019Date: Aug 2019

Datenbankübergreifenden Service Broker-Dialoge stellen die Zustellung der Nachrichten an die Dienste in anderen Datenbanken nach Änderung der Dienstebene ein.Cross-database Service Broker dialogs will stop delivering the messages to the services in other databases after change service tier operation. Die Nachrichten sind nicht verloren, sondern befinden sich in der Absenderwarteschlange.The messages are not lost and they can be found in the sender queue. Jegliche Änderung virtueller Kerne oder der Instanzspeichergröße in der verwalteten Instanz führt dazu, dass der Wert service_broke_guid in der Sicht sys.databases für alle Datenbanken geändert wird.Any change of vCores or instance storage size in Managed Instance, will cause service_broke_guid value in sys.databases view to be changed for all databases. Jeder DIALOG, der mit der BEGIN DIALOG-Anweisung erstellt wurde und auf Service Broker in einer anderen Datenbank verweist, stellt die Zustellung von Nachrichten an den Zieldienst ein.Any DIALOG created using BEGIN DIALOG statement that references Service Brokers in other database will stop delivering messages messages to the target service.

Problemumgehung: Beenden Sie alle Aktivitäten, die datenbankübergreifende Dialogkonversationen des Service Brokers verwenden, bevor Sie die Dienstebene aktualisieren, und initialisieren Sie sie danach neu.Workaround: Stop any activity that uses cross-database Service Broker dialog conversations before updating service tier and re-initialize them after. Wenn es noch Nachrichten gibt, die nach dem Ändern der Dienstebene nicht zugestellt werden, lesen Sie die Nachrichten aus der Quellwarteschlange, und senden Sie sie erneut an die Zielwarteschlange.If there are remaining messages that are undelivered after service tier change, read the messages from the source queue and resend them to the target queue.

Der Identitätswechsel für AAD-Anmeldetypen wird nicht unterstützt.Impersonification of AAD login types is not supported

Datum: Juli 2019Date: July 2019

Der Identitätswechsel mithilfe von EXECUTE AS USER oder EXECUTE AS LOGIN der folgenden AAD-Prinzipale wird nicht unterstützt:Impersonation using EXECUTE AS USER or EXECUTE AS LOGIN of following AAD principals is not supported:

  • AAD-Benutzer mit Alias.Aliased AAD users. In diesem Fall wird der Fehler 15517 zurückgegeben.The following error is returned in this case 15517.
  • AAD-Anmeldungen und-Benutzer, die auf AAD-Anwendungen oder -Dienstprinzipalen basieren.AAD logins and users based on AAD applications or service principals. In diesem Fall werden die Fehler 15517 und 15406 zurückgegeben.The following errors are returned in this case 15517 and 15406.

Der Parameter @query wird in sp_send_db_mail nicht unterstützt.@query parameter not supported in sp_send_db_mail

Datum: April 2019Date: April 2019

Der @query-Parameter in der Prozedur sp_send_db_mail funktioniert nicht.The @query parameter in the sp_send_db_mail procedure doesn't work.

Die Transaktionsreplikation muss nach einem geografischen Failover neu konfiguriert werden.Transactional Replication must be reconfigured after geo-failover

Datum: März 2019Date: Mar 2019

Wenn die Transaktionsreplikation für eine Datenbank in einer Autofailover-Gruppe aktiviert ist, muss der Administrator der verwalteten Instanz alle Veröffentlichungen für die alte primäre Instanz bereinigen und nach einem Failover in eine andere Region für die neue primäre Instanz erneut konfigurieren.If Transactional Replication is enabled on a database in a auto-failover group, the managed instance administrator must cleanup all publications on the old primary and reconfigure them on the new primary after a failover to another region occurs. Weitere Informationen finden Sie unter Replikation.See Replication for more details.

AAD-Anmeldungen und -Benutzer werden in Tools nicht unterstützt.AAD logins and users are not supported in tools

Datum: Januar 2019Date: Jan 2019

SQL Server Management Studio und SQL Server Data Tools unterstützen Azure Active Directory-Anmeldungen und -Benutzer nicht vollständig.SQL Server Management Studio and SQL Server Data Tools don't fuly support Azure Acctive directory logins and users.

  • Die Verwendung von Azure AD-Serverprinzipalen (Anmeldungen) und Azure AD-Benutzern (öffentliche Vorschau) mit SQL Server Data Tools wird derzeit nicht unterstützt.Using Azure AD server principals (logins) and users (public preview) with SQL Server Data Tools currently isn't supported.
  • Das Erstellen von Azure AD-Serverprinzipalen (Anmeldungen) und -Benutzern (öffentliche Vorschau) per Skript wird in SQL Server Management Studio nicht unterstützt.Scripting for Azure AD server principals (logins) and users (public preview) isn't supported in SQL Server Management Studio.

Temporäre Datenbank wird während des RESTORE-Vorgangs verwendetTemporary database is used during RESTORE operation

Wenn eine Datenbank auf einer verwalteten Instanz wiederhergestellt wird, erstellt der Wiederherstellungsdienst zunächst eine leere Datenbank mit dem gewünschten Namen, um den Namen auf der Instanz zuzuweisen.When a database is restoring on Managed Instance, the restore service will first create an empty database with the desired name to allocate the name on the instance. Nach einiger Zeit wird diese Datenbank gelöscht, und die Wiederherstellung der eigentlichen Datenbank wird gestartet.After some time, this database will be dropped and restoring of the actual database will be started. Die Datenbank, die sich im Status Wird wiederhergestellt befindet, weist temporär einen zufälligen GUID-Wert anstelle des Namens auf.The database that is in Restoring state will temporary have a random GUID value instead of name. Nachdem der Wiederherstellungsvorgang abgeschlossen ist, wird der temporäre Name in den in der RESTORE-Anweisung angegebenen gewünschten Namen geändert.The temporary name will be changed to the desired name specified in RESTORE statement once the restore process completes. In der Anfangsphase kann der Benutzer auf die leere Datenbank zugreifen und sogar Tabellen erstellen oder Daten in diese Datenbank laden.In the initial phase, user can access the empty database and even create tables or load data in this database. Diese temporäre Datenbank wird gelöscht, wenn der Wiederherstellungsdienst die zweite Phase startet.This temporary database will be dropped when the restore service starts the second phase.

Problemumgehung: Greifen Sie erst dann auf die Datenbank zu, die Sie wiederherstellen, wenn Sie feststellen, dass die Wiederherstellung abgeschlossen ist.Workaround: Do not access the database that you are restoring until you see that restore is completed.

Struktur und Inhalt von TEMPDB werden neu erstellt.TEMPDB structure and content is re-created

Die Datenbank tempdb ist immer in 12 Datendateien aufgeteilt, und die Dateistruktur kann nicht geändert werden.The tempdb database is always split into 12 data files and the file structure cannot be changed. Die maximale Größe pro Datei kann nicht geändert werden. Zudem können tempdb keine neuen Dateien hinzugefügt werden.The maximum size per file can't be changed, and new files cannot be added to tempdb. Tempdb wird beim Start oder Failover einer Instanz immer als leere Datenbank neu erstellt. Änderungen an tempdb werden nicht beibehalten.Tempdb is always re-created as an empty database when the instance starts or fails over, and any changes made in tempdb will not be preserved.

Überschreiten des Speicherplatzes mit kleinen DatenbankdateienExceeding storage space with small database files

CREATE DATABASE-, ALTER DATABASE ADD FILE- und RESTORE DATABASE-Anweisungen schlagen möglicherweise fehl, weil die Instanz das Azure-Speicherlimit erreichen kann.CREATE DATABASE, ALTER DATABASE ADD FILE, and RESTORE DATABASE statements might fail because the instance can reach the Azure Storage limit.

Jede verwaltete Instanz in der Dienstebene „Universell“ reserviert bis zu 35 TB Speicherplatz für Azure Premium-Datenträger.Each General Purpose managed instance has up to 35 TB of storage reserved for Azure Premium Disk space. Jede Datenbankdatei wird auf einem separaten physischen Datenträger platziert.Each database file is placed on a separate physical disk. Mögliche Datenträgergrößen sind 128 GB, 256 GB, 512 GB, 1 TB oder 4 TB.Disk sizes can be 128 GB, 256 GB, 512 GB, 1 TB, or 4 TB. Nicht verwendeter Speicherplatz auf dem Datenträger wird nicht berechnet, aber die Gesamtgröße der Azure Premium-Datenträger darf 35 TB nicht überschreiten.Unused space on the disk isn't charged, but the total sum of Azure Premium Disk sizes can't exceed 35 TB. In einigen Fällen kann eine verwaltete Instanz, die nicht insgesamt 8 TB benötigt, aufgrund interner Fragmentierung das Azure-Limit von 35 TB überschreiten.In some cases, a managed instance that doesn't need 8 TB in total might exceed the 35 TB Azure limit on storage size due to internal fragmentation.

Ein Beispiel: In einer verwalteten Instanz der Dienstebene „Universell“ ist eine große Datei vorhanden, die 1,2 TB groß und auf einem 4-TB-Datenträger platziert ist.For example, a General Purpose managed instance might have one big file that's 1.2 TB in size placed on a 4-TB disk. Es sind auch 248 Dateien mit jeweils 1 GB möglich, die jeweils auf separaten 128-GB-Datenträgern platziert sind.It also might have 248 files 1GB files that are each placed on separate 128-GB disks. In diesem Beispiel:In this example:

  • Die Gesamtgröße des zugewiesenen Datenträgerspeichers beträgt 1 x 4 TB + 248 x 128 GB = 35 TB.The total allocated disk storage size is 1 x 4 TB + 248 x 128 GB = 35 TB.
  • Der reservierte Gesamtspeicherplatz für Datenbanken in der Instanz beträgt 1 x 1,2 TB + 248 x 1 GB = 1,4 TB.The total reserved space for databases on the instance is 1 x 1.2 TB + 248 x 1 GB = 1.4 TB.

Dieses Beispiel verdeutlicht, dass eine verwaltete Instanz unter bestimmten Umständen aufgrund einer spezifischen Verteilung von Dateien das für einen angefügten Azure Premium-Datenträger reservierte Limit von 35 TB erreichen kann, auch wenn Sie dies möglicherweise nicht erwarten.This example illustrates that under certain circumstances, due to a specific distribution of files, a managed instance might reach the 35-TB limit that's reserved for an attached Azure Premium Disk when you might not expect it to.

In diesem Beispiel funktionieren vorhandene Datenbanken weiterhin und können ohne Probleme weiter wachsen, solange keine neuen Dateien hinzugefügt werden.In this example, existing databases continue to work and can grow without any problem as long as new files aren't added. Es könnten jedoch keine neuen Datenbanken erstellt oder wiederhergestellt werden, da für neue Datenträgerlaufwerke nicht genügend Speicherplatz vorhanden ist, selbst nicht dann, wenn die Gesamtgröße aller Datenbanken das Größenlimit der Instanz nicht überschreitet.New databases can't be created or restored because there isn't enough space for new disk drives, even if the total size of all databases doesn't reach the instance size limit. Der Fehler, der in diesem Fall zurückgegeben wird, ist nicht klar.The error that's returned in that case isn't clear.

Sie können mithilfe von Systemansichten die Anzahl von verbleibenden Dateien identifizieren.You can identify the number of remaining files by using system views. Wenn Sie dieses Limit erreichen, versuchen Sie, einige der kleineren Dateien mithilfe der DBCC SHRINKFILE-Anweisung zu leeren und zu löschen, oder wechseln Sie zur Dienstebene „Unternehmenskritisch“, für die dieses Limit nicht gilt.If you reach this limit, try to empty and delete some of the smaller files by using the DBCC SHRINKFILE statement or switch to the Business Critical tier, which doesn't have this limit.

Anstelle von Datenbanknamen werden GUID-Werte gezeigt.GUID values shown instead of database names

Mehrere Systemansichten, Leistungsindikatoren, Fehlermeldungen, XEvents und Fehlerprotokolleinträge zeigen GUID-Datenbankbezeichner anstelle der eigentlichen Datenbanknamen an.Several system views, performance counters, error messages, XEvents, and error log entries display GUID database identifiers instead of the actual database names. Verlassen Sie sich nicht auf diese GUIDs, da sie in Zukunft durch tatsächliche Datenbanknamen ersetzt werden.Don't rely on these GUID identifiers because they're replaced with actual database names in the future.

Fehlerprotokolle werden nicht persistent gespeichertError logs aren't persisted

Die Fehlerprotokolle in einer verwalteten Instanz werden nicht persistent gespeichert, und ihre Größe wird im Speicherlimit nicht berücksichtigt.Error logs that are available in managed instance aren't persisted, and their size isn't included in the maximum storage limit. Fehlerprotokolle werden im Falle eines Failovers möglicherweise automatisch gelöscht.Error logs might be automatically erased if failover occurs. Möglicherweise gibt es Lücken im Fehlerprotokollverlauf, da die verwaltete Instanz auf mehreren virtuellen Computern mehrmals verschoben wurde.There might be gaps in the error log history because Managed Instance was moved several time on several virtual machines.

Ein Transaktionsbereich in zwei Datenbanken in derselben Instanz wird nicht unterstütztTransaction scope on two databases within the same instance isn't supported

Die TransactionScope-Klasse in .NET funktioniert nicht, wenn zwei Abfragen an zwei Datenbanken in derselben Instanz im gleichen Transaktionsbereich gesendet werden:The TransactionScope class in .NET doesn't work if two queries are sent to two databases within the same instance under the same transaction scope:

using (var scope = new TransactionScope())
{
    using (var conn1 = new SqlConnection("Server=quickstartbmi.neu15011648751ff.database.windows.net;Database=b;User ID=myuser;Password=mypassword;Encrypt=true"))
    {
        conn1.Open();
        SqlCommand cmd1 = conn1.CreateCommand();
        cmd1.CommandText = string.Format("insert into T1 values(1)");
        cmd1.ExecuteNonQuery();
    }

    using (var conn2 = new SqlConnection("Server=quickstartbmi.neu15011648751ff.database.windows.net;Database=b;User ID=myuser;Password=mypassword;Encrypt=true"))
    {
        conn2.Open();
        var cmd2 = conn2.CreateCommand();
        cmd2.CommandText = string.Format("insert into b.dbo.T2 values(2)");        cmd2.ExecuteNonQuery();
    }

    scope.Complete();
}

Obwohl dieser Code mit Daten innerhalb derselben Instanz funktioniert, erforderte er MS DTC.Although this code works with data within the same instance, it required MSDTC.

Problemumgehung: Verwenden Sie SqlConnection.ChangeDatabase(String), um anstelle von zwei Verbindungen eine andere Datenbank im Verbindungskontext zu verwenden.Workaround: Use SqlConnection.ChangeDatabase(String) to use another database in a connection context instead of using two connections.

CLR-Module und Verbindungsserver können manchmal nicht auf eine lokale IP-Adresse verweisenCLR modules and linked servers sometimes can't reference a local IP address

CLR-Module, die in einer verwalteten Instanz bereitgestellt werden, und Verbindungsserver oder verteilte Abfragen, die auf eine aktuelle Instanz verweisen, können die IP-Adresse der lokalen Instanz manchmal nicht auflösen.CLR modules placed in a managed instance and linked servers or distributed queries that reference a current instance sometimes can't resolve the IP of a local instance. Dieser Fehler ist ein vorübergehendes Problem.This error is a transient issue.

Problemumgehung: Verwenden Sie nach Möglichkeit Kontextverbindungen im CLR-Modul.Workaround: Use context connections in a CLR module if possible.

Nächste SchritteNext steps