SQL Server Azure SQL Yönetilen Örneği & arasındaki T-SQL farklılıkları

Şunlar için geçerlidir: Azure SQL Yönetilen Örneği

Bu makalede, Azure SQL Yönetilen Örneği ile SQL Server arasındaki söz dizimi ve davranış farklılıkları özetlenip açıklanmaktadır.

SQL Yönetilen Örneği, SQL Server veritabanı altyapısıyla yüksek uyumluluk sağlar ve özelliklerin çoğu SQL Yönetilen Örneği desteklenir.

SQL Server'dan kolay geçiş

SQL Yönetilen Örneği bazı PaaS sınırlamaları ve SQL Server karşılaştırıldığında bazı davranış değişiklikleri vardır. Farklılıklar aşağıdaki kategorilere ayrılır:

Bu özelliklerin çoğu mimari kısıtlamalardır ve hizmet özelliklerini temsil eder.

SQL Yönetilen Örneği'de bulunan ve gelecekte çözülecek geçici bilinen sorunlar Yenilikler bölümünde açıklanmıştır.

Kullanılabilirlik

AlwaysOn Kullanılabilirlik Grupları

Yüksek kullanılabilirlik SQL Yönetilen Örneği yerleşiktir ve kullanıcılar tarafından denetlenemez. Aşağıdaki deyimler desteklenmez:

Backup

Azure SQL Yönetilen Örneği, kullanıcıların tam veritabanı COPY_ONLY yedeklemeleri oluşturabilmesi için otomatik yedeklemelere sahiptir. Değişiklik, günlük ve dosya anlık görüntüsü yedeklemeleri desteklenmez.

  • SQL Yönetilen Örneği bir örnek veritabanını yalnızca Azure Blob depolama hesabına yedekleyebilirsiniz:
    • Yalnızca BACKUP TO URL desteklenir.
    • FILE, TAPEve yedekleme cihazları desteklenmez.
  • Genel WITH seçeneklerin çoğu desteklenir.
    • COPY_ONLY zorunludur.
    • FILE_SNAPSHOT desteklenmez.
    • Bant seçenekleri: REWIND, NOREWIND, UNLOADve NOUNLOAD desteklenmez.
    • Günlüğe özgü seçenekler: NORECOVERY, STANDBYve NO_TRUNCATE desteklenmez.

Sınırlamalar:

  • bir SQL Yönetilen Örneği ile örnek veritabanını en fazla 32 şeritli bir yedeklemeye yedekleyebilirsiniz. Bu, yedekleme sıkıştırması kullanıldığında 4 TB'a kadar olan veritabanları için yeterlidir.

  • Hizmet tarafından yönetilen Saydam Veri Şifrelemesi (TDE) ile şifrelenmiş bir veritabanında yürütemezsiniz BACKUP DATABASE ... WITH COPY_ONLY . Hizmet tarafından yönetilen TDE, yedeklemelerin iç TDE anahtarıyla şifrelenmesini zorlar. Anahtar dışarı aktarılamaz, bu nedenle yedeklemeyi geri yükleyemezsiniz. Bunun yerine otomatik yedeklemeleri ve belirli bir noktaya geri yüklemeyi veya müşteri tarafından yönetilen (BYOK) TDE'yi kullanın. Veritabanında şifrelemeyi de devre dışı bırakabilirsiniz.

  • bir SQL Yönetilen Örneği alınan yerel yedeklemeler SQL Server geri yüklenemez. Bunun nedeni, SQL Yönetilen Örneği'ın herhangi bir SQL Server sürümüne kıyasla daha yüksek iç veritabanı sürümüne sahip olmasıdır.

  • Veritabanını Azure depolama alanına/depolama alanından yedeklemek veya geri yüklemek için, Azure Depolama kaynaklarına kısıtlı erişim hakları veren bir URI'nin paylaşılan erişim imzası (SAS) oluşturulması gerekir . Bu konuda daha fazla bilgi edinin. Bu senaryolar için Erişim anahtarlarının kullanılması desteklenmez.

  • SQL Yönetilen Örneği'de komutunu kullanarak BACKUP yedekleme şeridi boyutu üst sınırı 195 GB'tır ve bu da blob boyutu üst sınırıdır. Tek tek şerit boyutunu küçültmek ve bu sınırda kalmak için yedekleme komutundaki şerit sayısını artırın.

    İpucu

    Bu sınırlamaya geçici bir çözüm olarak, bir veritabanını şirket içi ortamdaki veya sanal makinedeki SQL Server yedeklerken şunları yapabilirsiniz:

    • 'a DISK yedeklemek yerine öğesini yedekleyin URL.
    • Yedekleme dosyalarını Blob depolamaya yükleyin.
    • SQL Yönetilen Örneği'a geri yükleyin.

    Restore SQL Yönetilen Örneği'deki komut, karşıya yüklenen yedekleme dosyalarının depolanması için farklı bir blob türü kullanıldığından yedekleme dosyalarında daha büyük blob boyutlarını destekler.

T-SQL kullanan yedeklemeler hakkında bilgi için bkz . BACKUP.

Güvenlik

Denetim

Microsoft Azure SQL ve SQL Server denetim arasındaki temel farklar şunlardır:

  • SQL Yönetilen Örneği ile denetim sunucu düzeyinde çalışır. Günlük .xel dosyaları Azure Blob depolamada depolanır.
  • Azure SQL Veritabanı ile denetim veritabanı düzeyinde çalışır. Günlük .xel dosyaları Azure Blob depolamada depolanır.
  • SQL Server, şirket içinde veya sanal makinelerde denetim sunucu düzeyinde çalışır. Olaylar dosya sisteminde veya Windows olay günlüklerinde depolanır.

SQL Yönetilen Örneği'de XEvent denetimi, Azure Blob depolama hedeflerini destekler. Dosya ve Windows günlükleri desteklenmez.

Azure Blob depolamada denetim söz dizimindeki CREATE AUDIT temel farklar şunlardır:

  • Dosyaların yerleştirildiği .xel Azure Blob depolama kapsayıcısının URL'sini belirtmek için kullanabileceğiniz yeni bir söz dizimi TO URL sağlanır.
  • söz dizimi TO FILE desteklenmez çünkü SQL Yönetilen Örneği Windows dosya paylaşımları'na erişemez.

Daha fazla bilgi için bkz.

Sertifikalar

SQL Yönetilen Örneği dosya paylaşımlarına ve Windows klasörlerine erişebildiğinden aşağıdaki kısıtlamalar geçerlidir:

  • Dosya CREATE FROM/BACKUP TO sertifikalar için desteklenmez.
  • ASSEMBLYFILE/sertifikası CREATE/BACKUP desteklenmiyor. Özel anahtar dosyaları kullanılamaz.

Bkz. CREATE CERTIFICATE ve BACKUP CERTIFICATE.

Geçici çözüm: Sertifikanın yedeğini oluşturmak ve yedeklemeyi geri yüklemek yerine sertifika ikili içeriğini ve özel anahtarı alın, .sql dosyası olarak depolayın ve ikili dosyadan oluşturun:

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

Kimlik Bilgisi

Yalnızca Azure Key Vault ve SHARED ACCESS SIGNATURE kimlikler desteklenir. Windows kullanıcıları desteklenmez.

Bkz . CREATE CREDENTIAL ve ALTER CREDENTIAL.

Şifreleme sağlayıcıları

SQL Yönetilen Örneği dosyalara erişebildiğinden şifreleme sağlayıcıları oluşturulamaz:

Oturum açma bilgileri ve kullanıcılar

  • , FROM ASYMMETRIC KEYve FROM SID kullanılarak FROM CERTIFICATEoluşturulan SQL oturum açma işlemleri desteklenir. Bkz. CREATE LOGIN.

  • CREATE LOGIN söz dizimi veya CREATE USER FROM LOGIN [Azure AD Login] söz dizimi ile oluşturulan Azure Active Directory (Azure AD) sunucu sorumluları (oturum açma bilgileri) desteklenir. Bu oturum açma bilgileri sunucu düzeyinde oluşturulur.

    SQL Yönetilen Örneği, söz dizimiyle CREATE USER [AADUser/AAD group] FROM EXTERNAL PROVIDERAzure AD veritabanı sorumlularını destekler. Bu özellik, Azure AD bağımsız veritabanı kullanıcıları olarak da bilinir.

  • Söz dizimi ile CREATE LOGIN ... FROM WINDOWS oluşturulan Windows oturum açma işlemleri desteklenmez. Azure Active Directory oturum açma bilgilerini ve kullanıcılarını kullanın.

  • Örneğin Azure AD yöneticisinin sınırsız yönetici ayrıcalıkları vardır.

  • Yönetici olmayan Azure AD veritabanı düzeyinde kullanıcılar söz dizimi kullanılarak CREATE USER ... FROM EXTERNAL PROVIDER oluşturulabilir. Bkz. CREATE USER ... DıŞ SAĞLAYıCıDAN.

  • Azure AD sunucu sorumluları (oturum açma bilgileri), sql özelliklerini yalnızca bir SQL Yönetilen Örneği içinde destekler. Aynı Azure AD kiracıda veya farklı kiracılarda olmaları fark etmeksizin örnekler arası etkileşim gerektiren özellikler Azure AD kullanıcılar için desteklenmez. Bu tür özelliklere örnek olarak şunlar verilebilir:

    • SQL işlem çoğaltması.
    • Bağlantı sunucusu.
  • Veritabanı sahibi olarak bir Azure AD grubuna eşlenmiş bir Azure AD oturum açma bilgisi ayarlanması desteklenmez. Azure AD grubunun bir üyesi, veritabanında oturum açma bilgisi oluşturulmamış olsa bile veritabanı sahibi olabilir.

  • EXECUTE AS yan tümcesi gibi diğer Azure AD sorumlularını kullanarak Azure AD sunucu düzeyinde sorumluların kimliğine bürünme desteklenir. EXECUTE AS sınırlamaları şunlardır:

    • KULLANICI OLARAK YÜRÜT, ad oturum açma adından farklı olduğunda Azure AD kullanıcılar için desteklenmez. Söz dizimi CREATE USER [myAadUser] FROM LOGIN [john@contoso.com] aracılığıyla kullanıcı oluşturulduğunda ve aracılığıyla kimliğe bürünme denendiğinde EXEC AS USER = myAadUserörnek olarak verilmiştir. bir Azure AD sunucu sorumlusundan (oturum açma) BIR KULLANICI oluşturduğunuzda, user_name LOGIN ile aynı login_name belirtin.

    • Yalnızca rolün parçası sysadmin olan SQL Server düzeyi sorumlular (oturum açma bilgileri) Azure AD sorumlularını hedefleyen aşağıdaki işlemleri yürütebilir:

      • KULLANıCı OLARAK YÜRÜT
      • OTURUM AÇMA OLARAK YÜRÜT
    • EXECUTE AS deyimine sahip bir kullanıcının kimliğine bürünmek için kullanıcının doğrudan Azure AD sunucu sorumlusuyla (oturum açma) eşlenmesi gerekir. Azure AD sunucu sorumlularıyla eşlenen Azure AD grupların üyesi olan kullanıcılar, çağıranın belirtilen kullanıcı adında kimliğe bürünme izinlerine sahip olmasına rağmen EXECUTE AS deyimiyle kimliğine bürünülemez.

  • bacpac dosyalarını kullanarak veritabanı dışarı/içeri aktarma, SQL Yönetilen Örneği'daki Azure AD kullanıcıların SSMS V18.4 veya üzerini ya daSQLPackage.exekullanmaları için desteklenir.

    • Veritabanı bacpac dosyası kullanılarak aşağıdaki yapılandırmalar desteklenir:
      • Veritabanını aynı Azure AD etki alanındaki farklı yönetim örnekleri arasında dışarı/içeri aktarın.
      • Veritabanını SQL Yönetilen Örneği dışarı aktarın ve aynı Azure AD etki alanındaki SQL Veritabanı aktarın.
      • Veritabanını SQL Veritabanı dışarı aktarın ve aynı Azure AD etki alanındaki SQL Yönetilen Örneği aktarın.
      • Veritabanını SQL Yönetilen Örneği'dan dışarı aktarın ve SQL Server 'a (sürüm 2012 veya üzeri) aktarın.
        • Bu yapılandırmada, tüm Azure AD kullanıcıları oturum açma olmadan SQL Server veritabanı sorumluları (kullanıcılar) olarak oluşturulur. Kullanıcı türü olarak SQL listelenir ve içinde sys.database_principalsolduğu gibi SQL_USER görünür. İzinleri ve rolleri SQL Server veritabanı meta verilerinde kalır ve kimliğe bürünme için kullanılabilir. Ancak, kimlik bilgilerini kullanarak SQL Server erişmek ve oturum açmak için kullanılamazlar.
  • Yalnızca SQL Yönetilen Örneği sağlama işlemi tarafından oluşturulan sunucu düzeyinde asıl oturum açma bilgileri, veya sysadmingibi securityadmin sunucu rollerinin üyeleri veya sunucu düzeyinde ALTER ANY LOGIN iznine sahip diğer oturum açma işlemleri, SQL Yönetilen Örneği için ana veritabanında Azure AD sunucu sorumluları (oturum açma bilgileri) oluşturabilir.

  • Oturum açma bir SQL sorumlusuysa, yalnızca rolün sysadmin parçası olan oturum açma bilgileri oluşturma komutunu kullanarak bir Azure AD hesabı için oturum açma bilgileri oluşturabilir.

  • Azure AD oturum açma bilgileri, Azure SQL Yönetilen Örneği için kullanılan dizindeki bir Azure AD üyesi olmalıdır.

  • Azure AD sunucu sorumluları (oturum açma bilgileri), SQL Server Management Studio 18.0 önizleme 5'den başlayarak Nesne Gezgini görünür.

  • Bir örnekte etkinleştirildikten sonra Azure AD yönetici hesabı için sysadmin erişim düzeyine sahip bir sunucu sorumlusu otomatik olarak oluşturulur.

  • Kimlik doğrulaması sırasında kimlik doğrulama sorumlusunu çözümlemek için aşağıdaki sıra uygulanır:

    1. Azure AD hesabı doğrudan "E" türünde bulunan sys.server_principals Azure AD sunucu sorumlusuna (oturum açma) eşlenmiş olarak mevcutsa, Azure AD sunucu sorumlusunun (oturum açma) erişim izni verin ve izinleri uygulayın.
    2. Azure AD hesabı, içinde "X" türü olarak bulunan sys.server_principals Azure AD sunucu sorumlusuna (oturum açma) eşlenmiş bir Azure AD grubunun üyesiyse, Azure AD grubu oturum açma izni verin ve izinleri uygulayın.
    3. Azure AD hesabı bir veritabanındaki Azure AD kullanıcıyla doğrudan eşlenmiş olarak bulunuyorsa ve "E" türü olarak mevcutsasys.database_principals, Azure AD veritabanı kullanıcısına erişim izni verin ve izinleri uygulayın.
    4. Azure AD hesabı, veritabanındaki bir Azure AD kullanıcıyla eşlenmiş bir Azure AD grubunun üyesiyse ve "X" türü olarak mevcutsasys.database_principals, Azure AD grubu kullanıcısına erişim izni verin ve izinleri uygulayın.

Hizmet anahtarı ve hizmet ana anahtarı

Yapılandırma

Arabellek havuzu uzantısı

Harmanlama

Varsayılan örnek harmanlama değeridir SQL_Latin1_General_CP1_CI_AS ve oluşturma parametresi olarak belirtilebilir. Bkz. Harmanlamalar.

Uyumluluk düzeyleri

  • Desteklenen uyumluluk düzeyleri 100, 110, 120, 130, 140 ve 150'dir.
  • 100'in altındaki uyumluluk düzeyleri desteklenmez.
  • Yeni veritabanları için varsayılan uyumluluk düzeyi 140'tır. Geri yüklenen veritabanları için uyumluluk düzeyi 100 ve üzerindeyse değişmeden kalır.

Bkz. ALTER DATABASE Uyumluluk Düzeyi.

Veritabanı yansıtma

Veritabanı yansıtması desteklenmez.

  • ALTER DATABASE SET PARTNER ve SET WITNESS seçenekleri desteklenmez.
  • CREATE ENDPOINT … FOR DATABASE_MIRRORING desteklenmez.

Daha fazla bilgi için bkz . ALTER DATABASE SET PARTNER ve SET WITNESS ve CREATE ENDPOINT ... DATABASE_MIRRORING IÇIN.

Veritabanı seçenekleri

  • Birden çok günlük dosyası desteklenmez.
  • Bellek içi nesneler Genel Amaçlı hizmet katmanında desteklenmez.
  • Genel Amaçlı örnek başına 280 dosya sınırı vardır ve bu da veritabanı başına en fazla 280 dosya anlamına gelir. Genel Amaçlı katmanındaki hem veriler hem de günlük dosyaları bu sınıra doğru sayılır. İş Açısından Kritik katmanı veritabanı başına 32.767 dosyayı destekler.
  • Veritabanı, dosya akışı verilerini içeren dosya grupları içeremez. .bak veri içeriyorsa FILESTREAM geri yükleme başarısız olur.
  • Her dosya Azure Blob depolama alanına yerleştirilir. Dosya başına GÇ ve aktarım hızı, her bir dosyanın boyutuna bağlıdır.

CREATE DATABASE deyimi

için aşağıdaki sınırlamalar geçerlidir CREATE DATABASE:

  • Dosyalar ve dosya grupları tanımlanamaz.

  • Bellek için iyileştirilmiş bir dosya grubu ve dosya otomatik olarak eklenir ve XTP olarak adlandırılır.

  • Bu CONTAINMENT seçenek desteklenmez.

  • WITH seçenekleri desteklenmez.

    İpucu

    Geçici bir çözüm olarak, dosya eklemek veya kapsamayı ayarlamak üzere veritabanı seçeneklerini ayarlamak için after CREATE DATABASE kullanınALTER DATABASE.

  • Bu FOR ATTACH seçenek desteklenmez.

  • Bu AS SNAPSHOT OF seçenek desteklenmez.

Daha fazla bilgi için bkz . CREATE DATABASE.

ALTER DATABASE deyimi

Bazı dosya özellikleri ayarlanamaz veya değiştirilemez:

  • T-SQL deyiminde ALTER DATABASE ADD FILE (FILENAME='path') dosya yolu belirtilemiyor. Dosyaları otomatik olarak yerleştirdiğinden SQL Yönetilen Örneği betikten kaldırınFILENAME.
  • Dosya adı deyimi kullanılarak ALTER DATABASE değiştirilemez.
  • XTP dosyasının veya dosya grubunun değiştirilmesine izin verilmez.

Aşağıdaki seçenekler varsayılan olarak ayarlanır ve değiştirilemez:

  • MULTI_USER
  • ENABLE_BROKER
  • AUTO_CLOSE OFF

Aşağıdaki seçenekler değiştirilemez:

  • 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

Bazı ALTER DATABASE deyimler (örneğin, SET CONTAINMENT) örneğin otomatik veritabanı yedeklemesi sırasında veya veritabanı oluşturulduktan hemen sonra geçici olarak başarısız olabilir. Bu durumda ALTER DATABASE deyimi yeniden denenmelidir. İlgili hata iletileri hakkında daha fazla bilgi için Açıklamalar bölümüne bakın.

Daha fazla bilgi için bkz. ALTER DATABASE.

SQL Server Agent

  • SQL Server Agent etkinleştirilmesi ve devre dışı bırakılması şu anda SQL Yönetilen Örneği'da desteklenmemekte. SQL Server Agent sürekli çalışır.
  • Boşta cpu'ya dayalı iş zamanlaması tetikleyicisi desteklenmez.
  • SQL Server Agent ayarları salt okunur. Yordam sp_set_agent_properties SQL Yönetilen Örneği'de desteklenmez.
  • İşler
    • T-SQL iş adımları desteklenir.
    • Aşağıdaki çoğaltma işleri desteklenir:
      • İşlem günlüğü okuyucusu
      • Anlık Görüntü
      • Dağıtımcı
    • SSIS iş adımları desteklenir.
    • Diğer iş adımı türleri şu anda desteklenmiyor:
      • Birleştirme çoğaltma işi adımı desteklenmiyor.
      • Kuyruk Okuyucu desteklenmez.
      • Komut kabuğu henüz desteklenmiyor.
    • SQL Yönetilen Örneği, robocopy aracılığıyla ağ paylaşımları gibi dış kaynaklara erişemez.
    • SQL Server Analysis Services desteklenmez.
  • Bildirimler kısmen desteklenir.
  • Email bildirimi desteklenir, ancak bir Veritabanı Postası profili yapılandırmanız gerekir. SQL Server Agent yalnızca bir Veritabanı Postası profili kullanabilir ve bu profil olarak adlandırılmalıdırAzureManagedInstance_dbmail_profile.
    • Pager desteklenmez.
    • NetSend desteklenmez.
    • Uyarılar henüz desteklenmiyor.
    • Proxy'ler desteklenmez.
  • EventLog desteklenmez.
  • SQL Aracısı işleri oluşturmak, değiştirmek veya yürütmek için kullanıcının doğrudan Azure AD sunucu sorumlusuyla (oturum açma) eşlenmesi gerekir. Doğrudan eşlenmeyen kullanıcılar, örneğin SQL Aracısı işleri oluşturma, değiştirme veya yürütme haklarına sahip bir Azure AD grubuna ait kullanıcılar bu eylemleri etkili bir şekilde gerçekleştiremez. Bunun nedeni SQL Yönetilen Örneği kimliğe bürünme ve AS YÜRÜTME sınırlamalarıdır.
  • Ana/hedef (MSX/TSX) işleri için Çoklu Sunucu Yönetimi özelliği desteklenmez.

SQL Server Agent hakkında bilgi için bkz. SQL Server Agent.

Tables

Aşağıdaki tablo türleri desteklenmez:

Tabloları oluşturma ve değiştirme hakkında bilgi için bkz. CREATE TABLE ve ALTER TABLE.

İşlevler

Toplu ekleme / OPENROWSET

SQL Yönetilen Örneği dosya paylaşımları ve Windows klasörlerine erişebildiğinden dosyaların Azure Blob depolama alanından içeri aktarılması gerekir:

  • DATASOURCE , Azure Blob depolamadan dosyaları içeri aktarırken komutunda BULK INSERT gereklidir. Bkz . BULK INSERT.
  • DATASOURCE azure blob depolamadan bir dosyanın içeriğini okuduğunuzda işlevinde OPENROWSET gereklidir. Bkz. OPENROWSET.
  • OPENROWSETAzure SQL Veritabanından, Azure SQL Yönetilen Örneği veya SQL Server örneklerinden veri okumak için kullanılabilir. Oracle veritabanları veya Excel dosyaları gibi diğer kaynaklar desteklenmez.

CLR

Bir SQL Yönetilen Örneği dosya paylaşımlarına ve Windows klasörlerine erişebildiğinden aşağıdaki kısıtlamalar geçerlidir:

Veritabanı Postası (db_mail)

  • sp_send_dbmail parametresi kullanılarak @file_attachments ek gönderilemiyor. Yerel dosya sistemi ve dış paylaşımlar veya Azure Blob Depolama bu yordamdan erişilemez.
  • Parametre ve kimlik doğrulamasıyla ilgili bilinen sorunlara @query bakın.

DBCC

SQL Server'de etkinleştirilen belgelenmemiş DBCC deyimleri SQL Yönetilen Örneği'de desteklenmez.

  • Yalnızca sınırlı sayıda Genel İzleme bayrağı desteklenir. Oturum düzeyi Trace flags desteklenmez. Bkz . İzleme bayrakları.
  • DBCC TRACEOFF ve DBCC TRACEON , sınırlı sayıda genel izleme bayrağıyla çalışır.
  • Veritabanı modda ayarlanamadığından SINGLE_USERdbcc checkdb seçenekleriyle REPAIR_ALLOW_DATA_LOSS, REPAIR_FAST ve REPAIR_REBUILD kullanılamaz . Bkz. ALTER DATABASE farkları. Olası veritabanı bozulması, Azure desteği ekibi tarafından işlenir. Veritabanı bozulmasına dair herhangi bir gösterge varsa Azure desteği ile iletişime geçin.

Dağıtılmış işlemler

Dağıtılmış işlemler için kısmi destek genel kullanıma sunulmuştur. Dağıtılmış işlemler aşağıdaki koşullar altında desteklenir (bunların tümü karşılanmalıdır):

  • tüm işlem katılımcıları, Sunucu güven grubunun parçası olan Azure SQL Yönetilen Örneklerdir.
  • işlemler .NET (TransactionScope sınıfı) veya Transact-SQL'den başlatılır.

Azure SQL Yönetilen Örneği şu anda ŞIRKET içi VEYA Azure Sanal Makineler MSDTC tarafından düzenli olarak desteklenen diğer senaryoları desteklememektedir.

Genişletilmiş Olaylar

Genişletilmiş Olaylar (XEvents) için Windows'a özgü bazı hedefler desteklenmez:

  • Hedef etw_classic_sync desteklenmiyor. .xel Dosyaları Azure Blob depolama alanında depolayın. Bkz. etw_classic_sync hedefi.
  • Hedef event_file desteklenmiyor. .xel Dosyaları Azure Blob depolama alanında depolayın. Bkz. event_file hedefi.

Dış kitaplıklar

Veritabanı içi R ve Python dış kitaplıkları sınırlı genel önizlemede desteklenir. Bkz. Azure SQL Yönetilen Örneği'de Machine Learning Services (önizleme).

Filestream ve FileTable

  • Dosya akışı verileri desteklenmez.
  • Veritabanı veri içeren FILESTREAM dosya grupları içeremez.
  • FILETABLE desteklenmez.
  • Tabloların türü olamaz FILESTREAM .
  • Aşağıdaki işlevler desteklenmez:
    • GetPathLocator()
    • GET_FILESTREAM_TRANSACTION_CONTEXT()
    • PathName()
    • GetFileNamespacePat)
    • FileTableRootPath()

Daha fazla bilgi için bkz . FILESTREAM ve FileTables.

AnlamSal Arama desteklenmez.

Bağlı sunucular

SQL Yönetilen Örneği'deki bağlı sunucular sınırlı sayıda hedefi destekler:

  • Desteklenen hedefler SQL Yönetilen Örneği, SQL Veritabanı, SQL sunucusuz ve ayrılmış havuzları Azure Synapse ve SQL Server örnekleridir.
  • Dağıtılmış yazılabilir işlemler yalnızca SQL Yönetilen Örnekleri arasında mümkündür. Daha fazla bilgi için bkz. Dağıtılmış İşlemler. Ancak, MS DTC desteklenmez.
  • Desteklenmeyen hedefler dosyalar, Analysis Services ve diğer RDBMS'lerdir. dosya içeri aktarma için alternatif olarak veya OPENROWSET kullanarak BULK INSERT Azure Blob Depolama yerel CSV içeri aktarmayı kullanmayı deneyin ya da Azure Synapse Analytics'te sunucusuz sql havuzu kullanarak dosyaları yükleyin.

İşlemler:

Azure SQL Yönetilen Örneği'de bağlı sunucular SQL kimlik doğrulama ve Azure AD kimlik doğrulamayı destekler.

PolyBase

Azure SQL Yönetilen Örneği ile veri sanallaştırma, Azure Data Lake Storage 2. Nesil veya Azure Blob Depolama depolanan dosyalardan gelen verilerde Transact-SQL (T-SQL) sorguları yürütmenizi ve birleştirmeleri kullanarak yerel olarak depolanan ilişkisel verilerle birleştirmenizi sağlar. Parquet ve sınırlandırılmış metin (CSV) dosya biçimleri doğrudan desteklenir. JSON dosya biçimi, sorguların her belgeyi ayrı bir satır olarak döndürdüğü CSV dosya biçimi belirtilerek dolaylı olarak desteklenir. ve OPENJSONkullanarak JSON_VALUE satırları daha fazla ayrıştırabilirsiniz. PolyBase hakkında genel bilgi için bkz. PolyBase.

Çoğaltma

  • Anlık görüntü ve çift yönlü çoğaltma türleri desteklenir. Birleştirme çoğaltması, Eşler arası çoğaltma ve güncelleştirilebilir abonelikler desteklenmez.
  • İşlem Çoğaltma bazı kısıtlamalarla SQL Yönetilen Örneği için kullanılabilir:
    • Her tür çoğaltma katılımcısı (Yayımcı, Dağıtımcı, Çekme Abonesi ve Anında İletme Abonesi) SQL Yönetilen Örneği yerleştirilebilir, ancak yayımcı ve dağıtımcı hem bulutta hem de şirket içinde olmalıdır.
    • SQL Yönetilen Örneği, SQL Server'in son sürümleriyle iletişim kurabilir. Daha fazla bilgi için desteklenen sürümler matrisini inceleyin.
    • İşlem Çoğaltması'nın bazı ek ağ gereksinimleri vardır.

İşlem çoğaltmasını yapılandırma hakkında daha fazla bilgi için aşağıdaki öğreticilere bakın:

RESTORE deyimi

  • Desteklenen söz dizimi:
    • RESTORE DATABASE
    • RESTORE FILELISTONLY ONLY
    • RESTORE HEADER ONLY
    • RESTORE LABELONLY ONLY
    • RESTORE VERIFYONLY ONLY
  • Desteklenmeyen söz dizimi:
    • RESTORE LOG ONLY
    • RESTORE REWINDONLY ONLY
  • Kaynak:
    • FROM URL (Azure Blob depolama) desteklenen tek seçenektir.
    • FROM DISK/TAPE/backup cihazı desteklenmiyor.
    • Yedekleme kümeleri desteklenmez.
  • WITH seçenekleri desteklenmez. , , STATSREPLACEvb. gibi DIFFERENTIALgeri yükleme girişimleri WITH başarısız olur.
  • ASYNC RESTORE: İstemci bağlantısı kopsa bile geri yükleme devam eder. Bağlantınız bırakılırsa, geri yükleme işleminin sys.dm_operation_status durumunu ve CREATE ve DROP veritabanının görünümünü de kontrol edebilirsiniz. bkz. sys.dm_operation_status.

Aşağıdaki veritabanı seçenekleri ayarlanır veya geçersiz kılınabilir ve daha sonra değiştirilemez:

  • NEW_BROKER aracı .bak dosyasında etkinleştirilmemişse.
  • ENABLE_BROKER aracı .bak dosyasında etkinleştirilmemişse.
  • AUTO_CLOSE=OFF .bak dosyasındaki bir veritabanında varsa AUTO_CLOSE=ON.
  • RECOVERY FULL .bak dosyasındaki SIMPLE bir veritabanında veya BULK_LOGGED kurtarma modundaysa.
  • Kaynak .bak dosyasında değilse bellek için iyileştirilmiş bir dosya grubu eklenir ve XTP olarak adlandırılır.
  • Mevcut bellek için iyileştirilmiş dosya grupları XTP olarak yeniden adlandırılır.
  • SINGLE_USER ve RESTRICTED_USER seçenekleri olarak MULTI_USERdönüştürülür.

Sınırlamalar:

  • Bozuk veritabanlarının yedekleri bozulma türüne bağlı olarak geri yüklenebilir, ancak bozulma düzeltilene kadar otomatik yedeklemeler alınmaz. Bu sorunu önlemek için kaynak SQL Yönetilen Örneği çalıştırdığınızdan DBCC CHECKDB ve yedeklemeyi WITH CHECKSUM kullandığınızdan emin olun.
  • .BAK Bu belgede açıklanan sınırlamaları (örneğin, nesneler) FILETABLE içeren bir veritabanının dosyasının FILESTREAM geri yüklenmesi SQL Yönetilen Örneği geri yüklenemez.
  • .BAK birden çok yedekleme kümesi içeren dosyalar geri yüklenemez.
  • .BAK birden çok günlük dosyası içeren dosyalar geri yüklenemez.
  • 8 TB'tan büyük veritabanları, etkin bellek içi OLTP nesneleri veya örnek başına 280 dosyayı aşacak dosya sayısını içeren yedeklemeler Genel Amaçlı bir örneğe geri yüklenemez.
  • Toplam boyutu kaynak sınırlarından daha büyük olan 4 TB'tan büyük veritabanları veya bellek içi OLTP nesneleri içeren yedeklemeler İş Açısından Kritik örneğe geri yüklenemez. Geri yükleme deyimleri hakkında bilgi için bkz. RESTORE deyimleri.

Önemli

Yerleşik belirli bir noktaya geri yükleme işlemi için de aynı sınırlamalar geçerlidir. Örneğin, 4 TB'tan büyük Genel Amaçlı veritabanı İş Açısından Kritik örnekte geri yüklenemez. bellek içi OLTP dosyaları veya 280'den fazla dosya içeren İş Açısından Kritik veritabanı Genel Amaçlı örnekte geri yüklenemez.

Hizmet aracısı

Örnekler arası hizmet aracısı ileti değişimi yalnızca Azure SQL Yönetilen Örnekler arasında desteklenir:

  • CREATE ROUTE: Başka bir SQL Yönetilen Örneği veya DNS adı dışında LOCAL bir adla ADDRESS kullanamazsınızCREATE ROUTE. Bağlantı noktası her zaman 4022'dir.
  • ALTER ROUTE: Başka bir SQL Yönetilen Örneği veya DNS adı dışında LOCAL bir adla ADDRESS kullanamazsınızALTER ROUTE. Bağlantı noktası her zaman 4022'dir.

Aktarım güvenliği desteklenir, iletişim kutusu güvenliği şu şekilde değildir:

  • CREATE REMOTE SERVICE BINDINGdesteklenmez.

Hizmet aracısı varsayılan olarak etkindir ve devre dışı bırakılamaz. Aşağıdaki ALTER DATABASE seçenekleri desteklenmez:

  • ENABLE_BROKER
  • DISABLE_BROKER

Saklı yordamlar, işlevler ve tetikleyiciler

Sistem işlevleri ve değişkenleri

Aşağıdaki değişkenler, işlevler ve görünümler farklı sonuçlar döndürür:

  • SERVERPROPERTY('EngineEdition') 8 değerini döndürür. Bu özellik bir SQL Yönetilen Örneği benzersiz olarak tanımlar. Bkz . SERVERPROPERTY.
  • SERVERPROPERTY('InstanceName')null döndürür çünkü SQL Server için mevcut olan örnek kavramı SQL Yönetilen Örneği için geçerli değildir. Bkz . SERVERPROPERTY('InstanceName').
  • @@SERVERNAME tam BIR DNS "bağlanabilir" adı döndürür, örneğin, my-managed-instance.wcus17662feb9ce98.database.windows.net. bkz. @@SERVERNAME.
  • SYS.SERVERS , "name" ve "data_source" özellikleri gibi myinstance.domain.database.windows.net tam bir DNS "bağlanabilir" adı döndürür. Bkz . SYS. SUNUCULAR.
  • @@SERVICENAMESQL Server için mevcut olan hizmet kavramı SQL Yönetilen Örneği için geçerli olmadığından NULL döndürür. bkz. @@SERVICENAME.
  • SUSER_ID desteklenir. Azure AD oturum açma bilgisi içinde sys.sysloginsdeğilse NULL döndürür. bkz. SUSER_ID.
  • SUSER_SID desteklenmez. Yanlış veriler döndürülür ve bu geçici olarak bilinen bir sorundur. bkz. SUSER_SID.

Ortam kısıtlamaları

Alt ağ

  • SQL Yönetilen Örneği dağıttığınız alt ağa başka kaynak (örneğin sanal makineler) yerleştiremezsiniz. Bu kaynakları farklı bir alt ağ kullanarak dağıtın.
  • Alt ağ yeterli sayıda kullanılabilir IP adresine sahip olmalıdır. Alt ağda en az 32 IP adresi olması gerekir.
  • Bir bölgeye dağıtabileceğiniz sanal çekirdek sayısı ve örnek türleri bazı kısıtlamalara ve sınırlara sahiptir.
  • Alt ağa uygulanması gereken bir ağ yapılandırması vardır.

Sanal ağ

  • Sanal ağ Kaynak Modeli kullanılarak dağıtılabilir - VNet için Klasik Model desteklenmez.
  • bir SQL Yönetilen Örneği oluşturulduktan sonra, SQL Yönetilen Örneği veya sanal ağı başka bir kaynak grubuna veya aboneliğe taşımak desteklenmez.
  • 22 Eylül 2020'ye kadar oluşturulan sanal kümelerde barındırılan SQL Yönetilen Örnekleri için genel eşleme desteklenmez. Bu kaynaklara ExpressRoute veya Sanal Ağdan Sanal Ağa ağ geçitleri aracılığıyla bağlanabilirsiniz.

Yük devretme grupları

Sistem veritabanları, bir yük devretme grubundaki ikincil örneğe çoğaltılmaz. Bu nedenle, nesneler ikincil örnekte el ile oluşturulmadığı sürece, sistem veritabanlarındaki nesnelere bağımlı olan senaryolar ikincil örnekte mümkün olmayacaktır.

TEMPDB

  • Sistem veritabanının tempdb dosya boyutu üst sınırı, Genel Amaçlı katmanında çekirdek başına 24 GB'tan büyük olamaz. İş Açısından Kritik katmanındaki boyut üst tempdb sınırı, SQL Yönetilen Örneği depolama boyutuyla sınırlıdır. Tempdbgünlük dosyası boyutu, Genel Amaçlı katmanında 120 GB ile sınırlıdır. Bazı sorgular, içinde çekirdek başına 24 GB'tan fazla veya 120 GB'tan tempdb fazla günlük verisi üretirse hata döndürebilir.
  • Tempdb her zaman 12 veri dosyasına bölünür: ana dosya, veri dosyası ve birincil olmayan 11 veri dosyası olarak da adlandırılan 1 birincil. Dosya yapısı değiştirilemez ve yeni dosyalar öğesine tempdbeklenemez.
  • Yeni bir SQL Server 2019 bellek içi veritabanı özelliği olan bellek için iyileştirilmiş tempdb meta veriler desteklenmez.
  • Model veritabanında oluşturulan nesneler, ilk nesne listesini model veritabanından almadığından yeniden başlatma veya yük devretme tempdb sonrasında içinde otomatik olarak oluşturulamaztempdb. Her yeniden başlatma veya yük devretme işleminden sonra içinde tempdb nesneleri el ile oluşturmanız gerekir.

MSDB

SQL Yönetilen Örneği'daki msdb sistem veritabanındaki aşağıdaki şemaların ilgili önceden tanımlanmış rollerine sahip olması gerekir:

Önemli

Önceden tanımlanmış rol adlarının, şema adlarının ve şema sahiplerinin müşteriler tarafından değiştirilmesi, hizmetin normal çalışmasını etkiler. Bunlarda yapılan tüm değişiklikler, algılandığı anda önceden tanımlanmış değerlere veya normal hizmet işlemini sağlamak için en geç bir sonraki hizmet güncelleştirmesine geri döndürülür.

Hata günlükleri

SQL Yönetilen Örneği ayrıntılı bilgileri hata günlüklerine yerleştirir. Hata günlüğüne kaydedilen birçok iç sistem olayı vardır. Bazı ilgisiz girdileri filtreleyen hata günlüklerini okumak için özel bir yordam kullanın. Daha fazla bilgi için bkz. Azure Data Studio için SQL Yönetilen Örneği – sp_readmierrorlog veya SQL Yönetilen Örneği uzantısı (önizleme).

Sonraki adımlar