Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:Azure SQL Managed Instance
Artikel ini merangkum dan menjelaskan perbedaan sintaksis dan perilaku antara Azure SQL Managed Instance dan SQL Server.
SQL Managed Instance menyediakan kompatibilitas tinggi dengan mesin database SQL Server, dan sebagian besar fitur didukung dalam SQL Managed Instance.
Ada beberapa batasan PaaS yang diperkenalkan dalam SQL Managed Instance dan beberapa perubahan perilaku dibandingkan dengan SQL Server. Perbedaan dibagi menjadi kategori berikut:
- Ketersediaan mencakup perbedaan dalam Grup Ketersediaan AlwaysOn dan cadangan.
- Keamanan mencakup perbedaan dalam audit, sertifikat, kredensial, penyedia kriptografi, info masuk dan pengguna, dan kunci layanan dan kunci master layanan.
- Konfigurasi mencakup perbedaan dalam ekstensi kumpulan buffer, kolase, tingkat kompatibilitas, pencerminan database, opsi database, Server SQL Server Agent, dan opsi tabel.
- Fungsionalitas termasuk BULK INSERT/OPENROWSET, CLR, DBCC, transaksi terdistribusi, peristiwa yang diperluas, pustaka eksternal, FILESTREAM dan FileTable, Pencarian Semantik teks lengkap, server tertaut, PolyBase, Replikasi, Resource governor, RESTORE, Service Broker, prosedur tersimpan, fungsi, dan pemicu.
- Pengaturan lingkungan seperti konfigurasi VNets dan subnet.
Sebagian besar fitur ini adalah batasan arsitektur dan mewakili fitur layanan.
Masalah umum sementara yang ditemukan di SQL Managed Instance dan akan diselesaikan di masa mendatang dijelaskan dalam Apa yang baru di Azure SQL Managed Instance?
Catatan
ID Microsoft Entra sebelumnya dikenal sebagai Azure Active Directory (Azure AD).
Ketersediaan
Grup Ketersediaan AlwaysOn
Ketersediaan tinggi dibuat ke dalam SQL Managed Instance dan tidak dapat dikontrol oleh pengguna. Pernyataan berikut ini tidak didukung:
- BUAT TITIK AKHIR ... UNTUK DATABASE_MIRRORING
- MEMBUAT GRUP KETERSEDIAAN
- MENGUBAH GRUP KETERSEDIAAN
- MENGHAPUS GRUP KETERSEDIAAN
- Klausul MENGATUR HADR dari pernyataan MENGUBAH DATABASE
Backup
Azure SQL Managed Instance memiliki pencadangan otomatis, sehingga pengguna dapat membuat cadangan COPY_ONLY database lengkap. Pencadangan diferensial, log, dan rekam jepret file tidak didukung.
- Dengan SQL Managed Instance, Anda dapat mencadangkan database instans hanya ke akun penyimpanan Azure Blob:
- Hanya
BACKUP TO URLyang didukung. -
FILE,TAPE, dan perangkat pencadangan tidak didukung.
- Hanya
- Sebagian besar opsi
WITHumum didukung.-
COPY_ONLYadalah wajib. -
FILE_SNAPSHOTdanCREDENTIALtidak didukung. - Opsi pita:
REWIND,NOREWIND,UNLOAD, danNOUNLOADtidak didukung. - Opsi khusus log:
NORECOVERY,STANDBY, danNO_TRUNCATEtidak didukung.
-
Batasan:
Dengan SQL Managed Instance, Anda dapat mencadangkan database instans ke cadangan dengan hingga 32 garis, yang cukup untuk database hingga 4 TB jika kompresi cadangan digunakan.
Anda tidak dapat menjalankan
BACKUP DATABASE ... WITH COPY_ONLYdatabase yang dienkripsi dengan enkripsi data transparan (TDE) yang dikelola layanan. TDE yang dikelola layanan memaksa cadangan untuk dienkripsi dengan kunci TDE internal. Kunci tidak dapat diekspor, sehingga Anda tidak dapat memulihkan cadangan. Gunakan pencadangan otomatis dan pemulihan point-in-time, atau gunakan TDE yang dikelola pelanggan (BYOK). Anda juga dapat menonaktifkan enkripsi pada database.Cadangan asli yang diambil pada SQL Managed Instance hanya dapat dipulihkan ke instans SQL Server 2022. Ini karena SQL Managed Instance memiliki versi database internal yang lebih tinggi dibandingkan dengan versi SQL Server lainnya. Untuk informasi selengkapnya, tinjau Memulihkan database ke SQL Server 2022 dari Azure SQL Managed Instance.
Untuk mencadangkan atau memulihkan database ke/dari penyimpanan Azure, Anda dapat mengautentikasi menggunakan identitas terkelola atau tanda tangan akses bersama (SAS) yang merupakan URI yang memberi Anda hak akses terbatas ke sumber daya Azure Storage Pelajari selengkapnya tentang hal ini. Menggunakan kunci Access untuk skenario ini tidak didukung.
Ukuran garis cadangan maksimum dengan menggunakan perintah
BACKUPdi SQL Managed Instance adalah 195 GB, yang merupakan ukuran blob maksimum. Tingkatkan jumlah garis dalam perintah cadangan untuk mengurangi ukuran garis individu dan tetap dalam batas ini.Petunjuk / Saran
Untuk mengatasi batasan ini, saat Anda mencadangkan database dari SQL Server di lingkungan lokal atau di mesin virtual, Anda dapat:
- Mencadangkan ke
DISKbukannya mencadangkan keURL. - Mengunggah file cadangan ke penyimpanan Blob.
- Memulihkan ke SQL Managed Instance.
Perintah
Restoredi SQL Managed Instance mendukung ukuran blob yang lebih besar dalam file cadangan karena jenis blob yang berbeda digunakan untuk penyimpanan file cadangan yang diunggah.- Mencadangkan ke
Untuk mengetahui informasi tentang pencadangan menggunakan T-SQL, lihat BACKUP.
Keamanan
Audit
Perbedaan utama antara audit di Microsoft Azure SQL dan di SQL Server adalah:
- Dengan SQL Managed Instance, audit berfungsi di tingkat server. File log
.xeldisimpan di penyimpanan Azure Blob. - Dengan Azure SQL Database, audit berfungsi di tingkat database. File log
.xeldisimpan di penyimpanan Azure Blob. - Dengan SQL Server, lokal, atau di mesin virtual, audit bekerja di tingkat server. Peristiwa disimpan pada sistem file atau log peristiwa Windows.
Audit XEvent di SQL Managed Instance mendukung target penyimpanan Azure Blob. Log file dan Windows tidak didukung.
Perbedaan utama dalam sintaksis CREATE AUDIT untuk mengaudit ke penyimpanan Azure Blob adalah:
- Sintaks
TO URLbaru disediakan untuk menentukan URL kontainer penyimpanan Azure Blob tempat.xelfile ditempatkan. - Sintaks
TO FILEini tidak didukung karena SQL Managed Instance tidak dapat mengakses berbagi file Windows.
Untuk informasi selengkapnya, lihat:
Sertifikat
SQL Managed Instance tidak dapat mengakses berbagi file dan folder Windows, sehingga batasan berikut berlaku:
- File
CREATE FROM/BACKUP TOtidak didukung untuk sertifikat. - Sertifikat
CREATE/BACKUPdariFILE/ASSEMBLYtidak didukung. File kunci privat tidak dapat digunakan.
Lihat CREATE CERTIFICATE dan BACKUP CERTIFICATE.
Solusi: Alih-alih membuat cadangan sertifikat dan memulihkan cadangan, dapatkan konten biner sertifikat dan kunci privat, simpan sebagai file .sql, dan buat dari biner:
CREATE CERTIFICATE
FROM BINARY = asn_encoded_certificate
WITH PRIVATE KEY (<private_key_options>);
Kredensial
Identitas terkelola, Azure Key Vault, dan SHARED ACCESS SIGNATURE identitas didukung. Pengguna Windows tidak didukung.
Lihat CREATE CREDENTIAL dan ALTER CREDENTIAL.
Penyedia kriptografi
SQL Managed Instance tidak dapat mengakses file, sehingga penyedia kriptografi tidak dapat dibuat:
-
CREATE CRYPTOGRAPHIC PROVIDERtidak didukung. Lihat CREATE CRYPTOGRAPHIC PROVIDER. -
ALTER CRYPTOGRAPHIC PROVIDERtidak didukung. Lihat ALTER CRYPTOGRAPHIC PROVIDER.
Login dan pengguna
Info masuk SQL yang dibuat dengan menggunakan
FROM CERTIFICATE,FROM ASYMMETRIC KEY, danFROM SIDdidukung. Lihat CREATE LOGIN. Prinsipal server (login) dibuat di tingkat server, dan pengguna (prinsipal database) dibuat di tingkat database. Login Microsoft Entra yang dibuat dengan sintaks CREATE LOGIN dan pengguna Microsoft Entra yang dibuat dengan sintaks CREATE USER FROM LOGIN didukung. Saat membuat pengguna dan menentukanFROM LOGIN, pengguna tersebut terkait dengan login, dan mewarisi peran dan izin server yang ditetapkan untuknya.SQL Managed Instance mendukung pembuatan pengguna database mandiri berdasarkan identitas Microsoft Entra dengan sintaks
CREATE USER [AADUser/AAD group] FROM EXTERNAL PROVIDER. Pengguna yang dibuat dengan cara ini tidak terkait dengan prinsipal server, bahkan jika perwakilan server dengan nama yang sama ada dimasterdatabase.Info masuk Windows yang dibuat dengan sintaksis
CREATE LOGIN ... FROM WINDOWStidak didukung. Gunakan login dan pengguna Microsoft Entra.Admin Microsoft Entra untuk instans memiliki hak istimewa admin yang tidak dibatasi.
Beberapa fitur tidak mendukung penggunaan login Microsoft Entra dalam interaksi lintas instans, tetapi hanya dalam satu SQL Managed Instance, seperti replikasi SQL Server misalnya. Fitur server tertaut meskipun mendukung autentikasi lintas instans menggunakan prinsipal server Microsoft Entra (login).
Mengatur login Microsoft Entra yang dipetakan ke grup Microsoft Entra karena pemilik database tidak didukung. Anggota grup Microsoft Entra bisa menjadi pemilik database, bahkan jika login belum dibuat dalam database.
Peniruan prinsipal tingkat server Microsoft Entra dengan menggunakan prinsipal Microsoft Entra lainnya didukung, seperti klausul EXECUTE AS . Batasan EXECUTE AS adalah:
EXECUTE AS USER tidak didukung untuk pengguna Microsoft Entra saat nama berbeda dari nama login. Contohnya adalah ketika pengguna dibuat melalui sintaks
CREATE USER [myAadUser] FROM LOGIN [john@contoso.com]dan peniruan dilakukan melaluiEXEC AS USER = myAadUser. Saat Anda membuat PENGGUNA dari login Microsoft Entra, tentukan user_name sebagai login_name yang sama dari LOGIN.Hanya login tingkat SQL Server yang merupakan bagian
sysadmindari peran yang dapat menjalankan operasi berikut yang menargetkan perwakilan Microsoft Entra:- JALANKAN SEBAGAI PENGGUNA
- JALANKAN SEBAGAI LOGIN
Untuk meniru pengguna dengan pernyataan EXECUTE AS, pengguna perlu dipetakan langsung ke login Microsoft Entra. Pengguna yang merupakan anggota grup Microsoft Entra yang dipetakan ke prinsipal server Microsoft Entra tidak dapat secara efektif ditiru dengan pernyataan EXECUTE AS, meskipun penelepon memiliki izin peniru pada nama pengguna yang ditentukan.
Ekspor/impor database menggunakan file bacpac didukung untuk pengguna Microsoft Entra di SQL Managed Instance menggunakan SSMS V18.4 atau yang lebih baru, atau SqlPackage.
- Konfigurasi berikut didukung menggunakan file bacpac database:
- Ekspor/impor database antara instans pengelolaan yang berbeda dalam domain Microsoft Entra yang sama.
- Ekspor database dari SQL Managed Instance dan impor ke SQL Database dalam domain Microsoft Entra yang sama.
- Ekspor database dari SQL Database dan impor ke SQL Managed Instance dalam domain Microsoft Entra yang sama.
- Mengekspor database dari SQL Managed Instance dan mengimpor ke SQL Server (versi 2012 atau yang lebih baru).
- Dalam konfigurasi ini, semua pengguna Microsoft Entra dibuat sebagai prinsipal database SQL Server (pengguna) tanpa masuk. Jenis pengguna adalah
SQLdan terlihat sepertiSQL_USERdalamsys.database_principals. Izin dan peran tersebut tetap berada dalam metadata database SQL Server dan dapat digunakan untuk peniruan identitas. Namun, mereka tidak dapat digunakan untuk mengakses dan masuk ke SQL Server menggunakan kredensial mereka.
- Dalam konfigurasi ini, semua pengguna Microsoft Entra dibuat sebagai prinsipal database SQL Server (pengguna) tanpa masuk. Jenis pengguna adalah
- Konfigurasi berikut didukung menggunakan file bacpac database:
Hanya login utama tingkat server, yang dibuat oleh proses provisi SQL Managed Instance, anggota peran server, seperti
securityadminatausysadmin, atau login lain dengan izin UBAH LOGIN APA PUN di tingkat server dapat membuat prinsipal server Microsoft Entra (login) dalammasterdatabase untuk SQL Managed Instance.Login berbasis autentikasi SQL harus diberi
sysadminperan untuk membuat login untuk identitas Microsoft Entra.Login harus menjadi anggota penyewa Microsoft Entra yang sama dengan tempat Azure SQL Managed Instance dihosting.
Prinsipal server Microsoft Entra (masuk) terlihat di Object Explorer yang dimulai dengan pratinjau SQL Server Management Studio 18.0 5.
Perwakilan server dengan tingkat akses sysadmin secara otomatis dibuat untuk admin Microsoft Entra setelah diaktifkan pada instans.
Selama autentikasi, urutan berikut diterapkan untuk mengatasi prinsipal autentikasi:
- Jika akun Microsoft Entra langsung dipetakan ke login Microsoft Entra, yang ada sebagai
sys.server_principalsjenis "E," berikan akses dan terapkan izin masuk tersebut. - Jika akun Microsoft Entra adalah anggota grup yang dipetakan ke login Microsoft Entra, yang ada sebagai
sys.server_principalsjenis "X," berikan akses dan terapkan izin login tersebut. - Jika akun Microsoft Entra ada sebagai langsung dipetakan ke pengguna Microsoft Entra dalam database, yang ada sebagai
sys.database_principalsjenis "E," berikan akses dan terapkan izin pengguna database Microsoft Entra. - Jika akun Microsoft Entra adalah anggota grup Microsoft Entra yang dipetakan ke pengguna Microsoft Entra dalam database, yang ada sebagai
sys.database_principalsjenis "X," berikan akses dan terapkan izin pengguna grup Microsoft Entra.
- Jika akun Microsoft Entra langsung dipetakan ke login Microsoft Entra, yang ada sebagai
Kunci layanan dan kunci master layanan
- Cadangan kunci master tidak didukung (dikelola oleh layanan SQL Database).
- Pemulihan kunci master tidak didukung (dikelola oleh layanan SQL Database).
- Cadangan kunci master layanan tidak didukung (dikelola oleh layanan SQL Database).
- Pemulihan kunci master layanan tidak didukung (dikelola oleh layanan SQL Database).
Konfigurasi
Ekstensi kumpulan buffer
- Ekstensi kumpulan buffer tidak didukung.
-
ALTER SERVER CONFIGURATION SET BUFFER POOL EXTENSIONtidak didukung. Lihat ALTER SERVER CONFIGURATION.
Kolase
Kolase instans default adalah SQL_Latin1_General_CP1_CI_AS dan dapat ditentukan sebagai parameter pembuatan. Lihat Kolase.
Tingkat kompatibilitas
- Tingkat kompatibilitas yang didukung adalah 100, 110, 120, 130, 140, 150, dan 160.
- Tingkat kompatibilitas di bawah 100 tidak didukung.
- Tingkat kompatibilitas default untuk database baru adalah 150. Untuk database yang dipulihkan, tingkat kompatibilitas tetap tidak berubah jika 100 ke atas.
Lihat MENGUBAH tingkat kompatibilitas DATABASE.
Pencerminan Database
Pencerminan database tidak didukung.
- Opsi
ALTER DATABASE SET PARTNERdanSET WITNESStidak didukung. -
CREATE ENDPOINT ... FOR DATABASE_MIRRORINGtidak didukung.
Untuk informasi selengkapnya, lihat ALTER DATABASE SET PARTNER dan SET WITNESS dan CREATE ENDPOINT ... UNTUK DATABASE_MIRRORING.
Opsi database
- Beberapa file log tidak didukung.
- Objek dalam memori tidak didukung di tingkat layanan Tujuan Umum.
- Ada batas 280 file per instans Tujuan Umum, yang menyiratkan maksimum 280 file per database. File data dan log dalam tingkat Tujuan Umum dihitung dalam batas ini. Tingkat Kritis Bisnis mendukung 32.767 file per database.
- Database tidak boleh berisi grup file yang berisi data FILESTREAM. Pemulihan gagal jika
.bakberisiFILESTREAMdata. - Setiap file ditempatkan di penyimpanan Azure Blob. IO dan throughput per file tergantung pada ukuran setiap file individual.
Pernyataan CREATE DATABASE
Batasan berikut berlaku untuk CREATE DATABASE:
File dan grup file tidak dapat ditentukan.
Grup file dan file yang dioptimalkan memori ditambahkan secara otomatis dan disebut XTP.
Opsi
CONTAINMENTtidak didukung.Opsi
WITHtidak didukung.Petunjuk / Saran
Sebagai solusinya, gunakan
ALTER DATABASEsetelahCREATE DATABASEuntuk mengatur opsi database guna menambahkan file atau mengatur penahanan.Opsi
FOR ATTACHtidak didukung.Opsi
AS SNAPSHOT OFtidak didukung.
Untuk mengetahui informasi selengkapnya, lihat CREATE DATABASE.
Pernyataan ALTER DATABASE
Beberapa properti file tidak dapat diatur atau diubah:
- Jalur file tidak dapat ditentukan dalam pernyataan T-SQL
ALTER DATABASE ADD FILE (FILENAME='path'). HapusFILENAMEdari skrip karena SQL Managed Instance secara otomatis menempatkan file. - Nama file tidak dapat diubah dengan menggunakan pernyataan
ALTER DATABASE. - Mengubah file XTP atau grup file tidak diperbolehkan.
Opsi berikut diatur secara default dan tidak dapat diubah:
MULTI_USERENABLE_BROKERAUTO_CLOSE OFF
Opsi berikut tidak dapat diubah:
AUTO_CLOSEAUTOMATIC_TUNING(CREATE_INDEX=ON|OFF)AUTOMATIC_TUNING(DROP_INDEX=ON|OFF)DISABLE_BROKEREMERGENCYENABLE_BROKERFILESTREAMHADRNEW_BROKEROFFLINEPAGE_VERIFYPARTNERREAD_ONLYRECOVERY BULK_LOGGEDRECOVERY_SIMPLEREMOTE_DATA_ARCHIVERESTRICTED_USERSINGLE_USERWITNESS
Beberapa pernyatan ALTER DATABASE (misalnya, SET CONTAINMENT) mungkin gagal sementara, misalnya selama pencadangan database otomatis atau tepat setelah database dibuat. Dalam kasus ini, pernyataan ALTER DATABASE harus dicoba lagi. Untuk mengetahui informasi selengkapnya tentang pesan kesalahan terkait, lihat bagian Keterangan.
Untuk mengetahui informasi selengkapnya, lihat ALTER DATABASE.
SQL Server Agent (Agen dari SQL Server)
- Mengaktifkan dan menonaktifkan SQL Server Agent saat ini tidak didukung di SQL Managed Instance. SQL Agent selalu berjalan.
- Pemicu jadwal pekerjaan berdasarkan CPU diam tidak didukung.
- Pengaturan SQL Server Agent adalah hanya baca. Prosedur
sp_set_agent_propertiestidak didukung di SQL Managed Instance. - Pekerjaan
- Langkah pekerjaan T-SQL didukung.
- Pekerjaan replikasi berikut didukung:
- Pembaca log transaksi
- Cuplikan
- Pendistribusi
- Langkah pekerjaan SSIS didukung.
- Jenis langkah pekerjaan lainnya saat ini tidak didukung:
- Langkah pekerjaan replikasi penggabungan tidak didukung.
- Pembaca Antrean tidak didukung.
- Shell perintah belum didukung.
- SQL Managed Instance tidak dapat mengakses sumber daya eksternal, misalnya, berbagi jaringan melalui robocopy.
- SQL Server Analysis Services tidak didukung.
- Pemberitahuan didukung sebagian.
- Pemberitahuan email didukung, meskipun Anda diharuskan mengonfigurasi profil Email Database. SQL Server Agent hanya dapat menggunakan satu profil Email Database, dan harus dipanggil
AzureManagedInstance_dbmail_profile.- Pager tidak didukung.
- NetSend tidak didukung.
- Pemberitahuan belum didukung.
- Proksi tidak didukung.
- EventLog tidak didukung.
- Pengguna harus langsung dipetakan ke login server Microsoft Entra untuk membuat, memodifikasi, atau menjalankan pekerjaan SQL Agent. Pengguna yang tidak dipetakan secara langsung, misalnya, pengguna yang termasuk dalam grup Microsoft Entra yang memiliki hak untuk membuat, memodifikasi, atau menjalankan pekerjaan SQL Agent, tidak akan secara efektif dapat melakukan tindakan tersebut. Hal ini dikarenakan peniruan SQL Managed Instance dan batasan EXECUTE AS.
- Fitur Administrasi Multi Server untuk pekerjaan master/target (MSX/TSX) tidak didukung.
Untuk mengetahui informasi tentang SQL Server Agent, lihat SQL Server Agent.
Tabel
Jenis tabel berikut ini tidak didukung:
- ALIRAN FILE
- Tabel File
- TABEL EKSTERNAL (kecuali PolyBase)
- MEMORY_OPTIMIZED (hanya tidak didukung dalam tingkat Tujuan Umum)
Untuk mengetahui informasi tentang cara membuat dan mengubah tabel, lihat CREATE TABLE dan ALTER TABLE.
Fungsionalitas
SISIPAN MASSAL / OPENROWSET
SQL Managed Instance tidak dapat mengakses berbagi file dan folder Windows, sehingga file harus diimpor dari penyimpanan Azure Blob:
-
DATASOURCEdiperlukan dalam perintahBULK INSERTsaat Anda mengimpor file dari penyimpanan Azure Blob. Lihat BULK INSERT. -
DATASOURCEdiperlukan dalam fungsiOPENROWSETsaat Anda membaca konten file dari penyimpanan Azure Blob. Lihat OPENROWSET. -
OPENROWSETdapat digunakan untuk membaca data dari Azure SQL Database, Azure SQL Managed Instance, atau instans SQL Server. Sumber lain seperti database Oracle atau file Excel tidak didukung.
CLR (Common Language Runtime)
SQL Managed Instance tidak dapat mengakses berbagi file dan folder Windows, sehingga batasan berikut berlaku:
- Hanya
CREATE ASSEMBLY FROM BINARYyang didukung. Lihat CREATE ASSEMBLY FROM BINARY. -
CREATE ASSEMBLY FROM FILEtidak didukung. Lihat CREATE ASSEMBLY FROM BINARY. -
ALTER ASSEMBLYtidak dapat mereferensikan file. Lihat CREATE ASSEMBLY.
Email Database (db_mail)
-
sp_send_dbmailtidak dapat mengirim lampiran menggunakan @file_attachments parameter. Sistem file lokal dan berbagi eksternal atau Azure Blob Storage tidak dapat diakses dari prosedur ini. - Lihat masalah umum terkait parameter
@querydan autentikasi.
DBCC
Pernyataan DBCC tidak berdokumen yang diaktifkan di SQL Server tidak didukung dalam SQL Managed Instance.
- Hanya sejumlah terbatas bendera Pelacakan Global yang didukung. Tingkat sesi
Trace flagstidak didukung. Lihat Mengatur bendera pelacakan dengan DBCC TRACEON. - DBCC TRACEOFF dan DBCC TRACEON berfungsi dengan jumlah bendera pelacakan global yang terbatas.
-
DBCC CHECKDB dengan opsi REPAIR_ALLOW_DATA_LOSS, REPAIR_FAST, dan REPAIR_REBUILD tidak dapat digunakan karena database tidak dapat diatur dalam
SINGLE_USERmode - lihat MENGUBAH perbedaan DATABASE. Potensi kerusakan database ditangani oleh tim dukungan Azure. Hubungi dukungan Azure jika ada indikasi kerusakan database.
Transaksi terdistribusi
Transaksi terdistribusi berbasis T-SQL dan .NET di seluruh instans terkelola umumnya tersedia. Skenario lain, seperti transaksi XA, transaksi terdistribusi antara instans terkelola dan peserta lain dan banyak lagi, didukung dengan Koordinator Transaksi Terdistribusi (DTC) untuk Azure SQL Managed Instance, yang tersedia dalam pratinjau publik.
Aktivitas yang Diperluas
Beberapa target khusus Windows untuk Extended Events (XEvents) tidak didukung:
- Target
etw_classic_synctidak didukung. Simpan file.xeldi penyimpanan Azure Blob. Lihat target etw_classic_sync. - Target
event_filetidak didukung. Simpan file.xeldi penyimpanan Azure Blob. Lihat target event_file.
Pustaka eksternal
Pustaka eksternal R dan Python dalam database didukung dalam pratinjau publik terbatas. Lihat Layanan Pembelajaran Mesin di Azure SQL Managed Instance.
FILESTREAM dan FileTable
- Data FILESTREAM tidak didukung.
- Database tidak dapat berisi grup file dengan data
FILESTREAM. -
FILETABLEtidak didukung. - Tabel tidak dapat memiliki
FILESTREAMtipe. - Fungsi berikut tidak didukung:
GetPathLocator()GET_FILESTREAM_TRANSACTION_CONTEXT()PathName()GetFileNamespacePat)FileTableRootPath()
Untuk mengetahui informasi selengkapnya, lihat FILESTREAM dan FileTables.
Pencarian Semantik teks penuh
Pencarian Semantik tidak didukung.
Server yang ditautkan
Server yang ditautkan di SQL Managed Instance mendukung sejumlah target terbatas:
- Target yang didukung adalah SQL Managed Instance, SQL Database, kumpulan tanpa server dan khusus Azure Synapse SQL, dan instans SQL Server.
- Target yang tidak didukung adalah file, Analysis Services, dan RDBMS lainnya. Cobalah menggunakan impor CSV asli dari Azure Blob Storage menggunakan
BULK INSERTatauOPENROWSETsebagai alternatif untuk impor file, atau muat file menggunakan kumpulan SQL tanpa server di Azure Synapse Analytics.
Operasi:
-
sp_dropserverdidukung untuk menonaktifkan server yang ditautkan. Lihat sp_dropserver. - Fungsi
OPENROWSETini dapat digunakan untuk menjalankan kueri hanya pada instans SQL Server. Dapat dikelola, secara lokal, atau di mesin virtual. Lihat OPENROWSET. - Fungsi OPENDATASOURCE dapat digunakan untuk menjalankan kueri hanya pada instans SQL Server. Dapat dikelola, secara lokal, atau di mesin virtual. Contohnya
SELECT * FROM OPENDATASOURCE('SQLNCLI', '...').AdventureWorks2022.HumanResources.Employee.SQLNCLIHanya nilai ,SQLNCLI11,SQLOLEDB, danMSOLEDBSQLyang didukung sebagai penyedia. SQL Server Native Client (sering disingkat SNAC) telah dihapus dari SQL Server 2022 dan SQL Server Management Studio 19 (SSMS). SQL Server Native Client (SQLNCLI atau SQLNCLI11) dan Penyedia Microsoft OLE DB warisan untuk SQL Server (SQLOLEDB) tidak direkomendasikan untuk pengembangan baru. Beralih ke Driver Microsoft OLE DB baru untuk SQL Server atau Microsoft ODBC Driver terbaru untuk SQL Server ke depannya. - Server tertaut tidak dapat digunakan untuk membaca file (Excel, CSV) dari berbagi jaringan. Coba gunakan BULK INSERT, OPENROWSET yang membaca file CSV dari Azure Blob Storage, atau server yang ditautkan yang mereferensikan kumpulan SQL tanpa server di Synapse Analytics. Lacak permintaan ini pada item Umpan Balik SQL Managed Instance
Server tertaut di Azure SQL Managed Instance mendukung autentikasi SQL dan autentikasi Microsoft Entra.
PolyBase
Virtualisasi data dengan Azure SQL Managed Instance memungkinkan Anda menjalankan kueri Transact-SQL (T-SQL) terhadap data dari file yang disimpan di Azure Data Lake Storage Gen2 atau Azure Blob Storage, dan menggabungkannya dengan data relasional yang disimpan secara lokal menggunakan gabungan. Format file parquet dan teks berbatas (CSV) didukung secara langsung. Format file JSON secara tidak langsung didukung dengan menentukan format file CSV di mana kueri mengembalikan setiap dokumen sebagai baris terpisah. Dimungkinkan mengurai baris lebih lanjut menggunakan JSON_VALUE dan OPENJSON. Untuk informasi umum tentang PolyBase, lihat Virtualisasi data dengan PolyBase di SQL Server.
Selanjutnya, CREATE EXTERNAL TABLE AS SELECT (CETAS) memungkinkan Anda mengekspor data dari instans terkelola SQL Anda ke akun penyimpanan eksternal. Anda dapat menggunakan CETAS untuk membuat tabel eksternal di atas file Parquet atau CSV penyimpanan Azure Blob atau Azure Data Lake Storage (ADLS) Gen2. CETAS juga dapat mengekspor, secara paralel, hasil pernyataan T-SQL SELECT ke dalam tabel eksternal yang dibuat.
Replikasi
- Jenis replikasi Rekam Jepret dan Dua Arah didukung. Replikasi penggabungan, replikasi peer-to-peer, dan langganan yang dapat diperbarui tidak didukung.
-
Replikasi transaksional tersedia untuk SQL Managed Instance dengan beberapa batasan:
- Semua jenis peserta replikasi (Penerbit, Distributor, Pelanggan Penarikan, dan Pelanggan Pendorongan) dapat ditempatkan pada SQL Managed Instance, tetapi penerbit dan distributor harus berada di cloud atau lokal.
- SQL Managed Instance dapat berkomunikasi dengan versi terbaru SQL Server. Untuk informasi selengkapnya, lihat matriks versi yang didukung.
- Replikasi Transaksional memiliki beberapa persyaratan jaringan tambahan.
Untuk mengetahui informasi selengkapnya tentang mengonfigurasi replikasi transaksional, lihat tutorial berikut:
- Tutorial: Mengonfigurasi replikasi antara dua instans terkelola
- Tutorial: Mengonfigurasi replikasi transaksional antara Azure SQL Managed Instance dan SQL Server
Gubernur sumber daya
Gubernur sumber daya didukung. Namun, ada beberapa perbedaan perilaku:
- Untuk mengubah konfigurasi gubernur sumber daya di SQL Managed Instance, Anda harus berada dalam konteks
masterdatabase pada replika utama. - Perubahan konfigurasi gubernur sumber daya yang dilakukan pada replika utama menyebar ke semua replika sekunder. Namun, perubahan pada konfigurasi yang saat ini efektif pada replika sekunder mungkin tidak langsung. Untuk membuat perubahan efektif pada replika sekunder, sambungkan
masterke database pada replika sekunder dan jalankanALTER RESOURCE GOVERNOR RECONFIGURE. - Di SQL Server, jika pengaturan dikonfigurasi
REQUEST_MAX_CPU_TIME_SECuntuk grup beban kerja dan permintaan batch melebihi waktu CPU yang dikonfigurasicpu_threshold_exceeded, peristiwa akan diaktifkan tetapi permintaan tidak dihentikan kecuali bendera pelacakan diaktifkan. Di SQL Managed Instance, peristiwa yang sama diaktifkan dan permintaan selalu dihentikan. Untuk informasi selengkapnya, lihat REQUEST_MAX_CPU_TIME_SEC. - Jumlah maksimum kumpulan sumber daya yang dapat Anda buat adalah 40.
Pernyataan RESTORE
- Sintaks yang didukung:
RESTORE DATABASERESTORE FILELISTONLYRESTORE HEADERONLYRESTORE LABELONLYRESTORE VERIFYONLY
- Sintaksis yang tidak didukung:
RESTORE LOGONLYRESTORE REWINDONLY
- Sumber:
-
FROM URL(Penyimpanan Azure Blob) adalah satu-satunya opsi yang didukung. -
FROM DISK/TAPE/perangkat cadangan tidak didukung. - Kumpulan cadangan tidak didukung.
-
- Opsi
WITHtidak didukung. Upaya pemulihan termasukWITHsepertiDIFFERENTIAL,STATS,REPLACE, dan sebagainya, akan gagal.
Operasi pemulihan database tidak sinkron dan dapat diulang di Azure SQL Managed Instance. Anda mungkin mendapatkan kesalahan dalam SSMS jika koneksi gagal atau waktu habis kedaluwarsa. Azure SQL Managed Instance terus mencoba memulihkan database di latar belakang, dan Anda dapat melacak kemajuan proses pemulihan dengan menggunakan tampilan manajemen dinamis sys.dm_exec_requests dan sys.dm_operation_status .
Opsi database berikut ini diatur atau ditimpa dan tidak dapat diubah nanti:
-
NEW_BROKERjika broker tidak diaktifkan dalam file .bak. -
ENABLE_BROKERjika broker tidak diaktifkan dalam file .bak. -
AUTO_CLOSE=OFFjika database dalam file .bak memilikiAUTO_CLOSE=ON. -
RECOVERY FULLjika database dalam file .bak memilikiSIMPLEatauBULK_LOGGEDmodel pemulihan. - Grup-file yang dioptimalkan untuk memori ditambahkan dan disebut XTP jika tidak ada dalam .bak file.
- Grup file yang dioptimalkan untuk memori yang ada akan diganti namanya menjadi XTP.
- Opsi
SINGLE_USERdanRESTRICTED_USERdikonversi menjadiMULTI_USER.
Batasan:
- Cadangan database yang rusak mungkin dipulihkan tergantung pada jenis kerusakan, tetapi pencadangan otomatis tidak diambil sampai kerusakan diperbaiki. Pastikan Anda menjalankan
DBCC CHECKDBpada SQL Managed Instance sumber dan menggunakan cadanganWITH CHECKSUMuntuk mencegah masalah ini. -
.BAKPemulihan file database yang berisi batasan apa pun yang dijelaskan dalam dokumen ini (misalnya,FILESTREAMatauFILETABLEobjek) tidak dapat dipulihkan pada SQL Managed Instance. - File
.BAKyang memuat beberapa kumpulan cadangan tidak dapat dipulihkan. - File
.BAKyang memuat beberapa file log tidak dapat dipulihkan. - Cadangan yang berisi database yang lebih besar dari 8 TB, objek OLTP aktif dalam memori, atau jumlah file yang akan melebihi 280 file per instans tidak dapat dipulihkan pada instans Tujuan Umum.
- Cadangan yang berisi database yang lebih besar dari objek OLTP 4 TB atau dalam memori dengan ukuran total yang lebih besar dari ukuran yang dijelaskan dalam batas sumber daya tidak dapat dipulihkan pada instans Business Critical. Untuk mengetahui informasi tentang pernyataan pemulihan, lihat Pernyataan RESTORE.
Penting
Batasan yang sama berlaku untuk operasi pemulihan point-in-time bawaan. Sebagai contoh, database Tujuan Umum yang lebih besar dari 4 TB tidak dapat dipulihkan pada instans Business Critical. Database Bisnis Penting dengan file OLTP dalam memori atau lebih dari 280 file tidak dapat dipulihkan pada instans Tujuan Umum.
Service Broker
Pertukaran pesan broker layanan lintas instans hanya didukung antara Azure SQL Managed Instance:
-
CREATE ROUTE: Anda tidak dapat menggunakanCREATE ROUTEdenganADDRESSselainLOCALatau nama DNS SQL Managed Instance lainnya. Port selalu 4022. -
ALTER ROUTE: Anda tidak dapat menggunakanALTER ROUTEdenganADDRESSselainLOCALatau nama DNS SQL Managed Instance lainnya. Port selalu 4022.
Keamanan transportasi didukung, keamanan dialog tidak:
-
CREATE REMOTE SERVICE BINDINGtidak didukung.
Broker layanan diaktifkan secara default untuk database yang baru dibuat dan tidak dapat dinonaktifkan. Status broker layanan untuk database yang dipulihkan/dimigrasikan diwariskan dari database sumber dan tidak dapat diubah. Opsi ALTER DATABASE berikut ini tidak didukung:
ENABLE_BROKERDISABLE_BROKER
Prosedur, fungsi, dan pemicu yang tersimpan
-
NATIVE_COMPILATIONtidak didukung di tingkat Tujuan Umum. - Opsi sp_configure berikut ini tidak didukung:
allow polybase exportallow updatesfilestream_access_levelremote accessremote data archiveremote proc transscan for startup procs
- Opsi sp_configure berikut diabaikan dan tidak berpengaruh:
Ole Automation Procedures
-
sp_execute_external_scriptshanya didukung untuk Layanan Pembelajaran Mesin di Azure SQL Managed Instance, jikasp_execute_external_scriptstidak, tidak didukung untuk SQL Managed Instance. Lihat sp_execute_external_scripts. -
xp_cmdshelltidak didukung. Lihat xp_cmdshell. -
Extended stored procedurestidak didukung, dan ini termasuksp_addextendedprocdansp_dropextendedproc. Fungsionalitas ini tidak akan didukung karena berada di jalur penghentian untuk SQL Server. Untuk informasi selengkapnya, lihat Prosedur tersimpan yang diperluas Mesin Database Pemrograman. -
sp_attach_db,sp_attach_single_file_db, dansp_detach_dbtidak didukung. Lihat sp_attach_db, sp_attach_single_file_db, dan sp_detach_db. -
sp_addmessagetidak didukung di Azure SQL Managed Instance.
Fungsi dan variabel sistem
Variabel, fungsi, dan tampilan berikut menampilkan hasil yang berbeda:
-
SERVERPROPERTY('EngineEdition')menampilkan nilai 8. Properti ini secara unik mengidentifikasi SQL Managed Instance. Lihat SERVERPROPERTY. -
SERVERPROPERTY('InstanceName')mengembalikan karena konsep instansNULLseperti yang ada untuk SQL Server tidak berlaku untuk SQL Managed Instance. Lihat SERVERPROPERTY('InstanceName'). -
@@SERVERNAMEmenampilkan nama DNS lengkap yang "dapat dihubungkan", misalnya,my-managed-instance.wcus17662feb9ce98.database.windows.net. Lihat @@SERVERNAME. -
SYS.SERVERSmengembalikan nama DNS lengkap "dapat dihubungkan", sepertimyinstance.domain.database.windows.netuntuk properti "nama" dan "data_source." Lihat sys.servers. -
@@SERVICENAMENULLmengembalikan karena konsep layanan seperti yang ada untuk SQL Server tidak berlaku untuk SQL Managed Instance. Lihat @@SERVICENAME. -
SUSER_IDtidak didukung. Ini mengembalikanNULLjika login Microsoft Entra tidak ada disys.syslogins. Lihat SUSER_ID. -
SUSER_SIDtidak didukung. Data yang salah ditampilkan, yang merupakan masalah umum sementara. Lihat SUSER_ID.
Batasan lingkungan
Subnet
- Anda tidak dapat menempatkan sumber daya lain (misalnya komputer virtual) di subnet tempat Anda telah menyebarkan SQL Managed Instance Anda. Sebarkan sumber daya ini menggunakan subnet yang berbeda.
- Subnet harus memiliki alamat IP yang tersedia dalam jumlah yang memadai. Minimal memiliki setidaknya 32 alamat IP di subnet.
- Jumlah vCores dan jenis instans yang dapat Anda sebarkan di wilayah memiliki beberapa batasan dan pembatasan.
- Ada konfigurasi jaringan yang harus diterapkan pada subnet.
Jaringan virtual
- Jaringan virtual dapat disebarkan menggunakan Model Sumber Daya. Model Klasik tidak mendukung penyebaran jaringan virtual (VNet).
- Setelah instans terkelola SQL dibuat, memindahkan instans terkelola SQL atau VNet ke grup sumber daya atau langganan lain tidak didukung.
- Untuk instans terkelola SQL yang dihosting di kluster virtual yang dibuat sebelum 22 September 2020, peering global VNet tidak didukung. Anda dapat terhubung ke sumber daya ini melalui ExpressRoute atau VNet-ke-VNet melalui Gateway Virtual Network.
Grup failover
Database sistem tidak direplikasi ke instans sekunder dalam grup failover. Oleh karena itu, skenario yang bergantung pada objek dari database sistem tidak mungkin pada instans sekunder kecuali objek dibuat secara manual pada sekunder.
tempdb
- Ukuran file maksimum dari database sistem
tempdbtidak boleh lebih besar dari 24 GB per core pada tingkat Tujuan Umum. Ukurantempdbmaksimum pada tingkat Kritis Bisnis dibatasi oleh ukuran penyimpanan SQL Managed Instance. Ukuran file logtempdbdibatasi hingga 120 GB pada tingkat Tujuan Umum. Beberapa kueri mungkin menampilkan kesalahan jika membutuhkan lebih dari 24 GB per inti ditempdbatau jika menghasilkan lebih dari 120 GB data log. -
tempdbselalu dibagi menjadi 12 file data: 1 utama, juga disebutmaster, file data, dan 11 file data non-primer. Struktur file tidak dapat diubah dan file baru tidak dapat ditambahkan ketempdb. - Metadata TempDB yang dioptimalkan memori, fitur database dalam memori SQL Server 2019 baru, tidak didukung.
- Objek yang dibuat dalam
modeldatabase tidak dapat dibuattempdbsecara otomatis setelah menghidupkan ulang atau failover karenatempdbtidak mendapatkan daftar objek awalnya darimodeldatabase. Anda harus membuat objek ditempdbsecara manual setelah setiap restart atau failover.
msdb
Skema berikut dalam database sistem msdb di SQL Managed Instance harus dimiliki oleh masing-masing peran yang telah ditentukan sebelumnya:
- Peran umum
- TargetServerRole
-
Peran database tetap
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
-
Peran DatabaseMail:
- DatabaseMailUserRole
-
Peran layanan integrasi:
- db_ssisadmin
- db_ssisltduser
- db_ssisoperator
Penting
Mengubah nama peran, nama skema, dan pemilik skema yang telah ditentukan sebelumnya oleh pelanggan akan memengaruhi pengoperasian normal layanan. Setiap perubahan yang dilakukan pada ini akan dikembalikan ke nilai yang telah ditentukan sebelumnya segera setelah terdeteksi, atau paling lambat pada pembaruan layanan berikutnya untuk memastikan operasi layanan normal.
Log kesalahan
SQL Managed Instance menempatkan informasi verbose dalam log kesalahan. Ada banyak peristiwa sistem internal yang masuk ke dalam log kesalahan. Gunakan prosedur kustom untuk membaca log kesalahan yang memfilter beberapa entri yang tidak relevan. Untuk informasi selengkapnya, lihat SQL Managed Instance – sp_readmierrorlog.
Mengubah jumlah log kesalahan yang dipertahankan tidak didukung.