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: SQL Server
Azure SQL Database
WideWorldImporters menggunakan fitur dan kemampuan SQL Server dalam database OLTP.
WideWorldImporters dirancang untuk menampilkan banyak fitur utama SQL Server, termasuk fitur terbaru yang diperkenalkan di SQL Server 2016. Tabel berikut mencantumkan fitur dan kemampuan SQL Server. Setiap baris juga memberikan deskripsi tentang bagaimana fitur digunakan dalam WideWorldImporters.
Fitur atau kemampuan SQL Server | Gunakan di WideWorldImporters |
---|---|
Tabel temporal | Ada banyak tabel temporal, termasuk semua tabel referensi gaya pencarian dan entitas utama seperti StockItems, Pelanggan, dan Pemasok. Menggunakan tabel temporal memungkinkan untuk melacak riwayat entitas ini dengan mudah. |
Panggilan AJAX untuk JSON | Aplikasi ini sering menggunakan panggilan AJAX untuk mengkueri tabel ini: Orang, Pelanggan, Pemasok, dan StockItems. Panggilan mengembalikan data dalam format JSON. Misalnya, lihat prosedur Website.SearchForCustomers tersimpan . |
Tas properti/nilai JSON | Sejumlah tabel memiliki kolom yang menyimpan data JSON untuk memperluas data relasional dalam tabel. Misalnya, Application.SystemParameters memiliki kolom untuk pengaturan aplikasi dan Application.People memiliki kolom untuk merekam preferensi pengguna. Tabel ini menggunakan nvarchar(max) kolom untuk merekam data JSON, bersama dengan batasan CHECK menggunakan fungsi ISJSON bawaan untuk memastikan nilai kolom adalah JSON yang valid. |
Keamanan tingkat baris (RLS) | Keamanan Tingkat Baris (RLS) digunakan untuk membatasi akses ke tabel Pelanggan, berdasarkan keanggotaan peran. Setiap wilayah penjualan memiliki peran dan pengguna. Untuk melihat batas akses RLS dalam tindakan, gunakan skrip yang sesuai di sample-script.zip, yang merupakan bagian dari rilis sampel. |
Analitik Operasional Real Time | (Versi lengkap database) Tabel Sales.InvoiceLines transaksional inti dan Sales.OrderLines keduanya memiliki indeks penyimpan kolom nonkluster untuk mendukung eksekusi kueri analitik yang efisien dalam database transaksional dengan dampak minimal pada beban kerja operasional. Menjalankan transaksi dan analitik dalam database yang sama juga disebut sebagai Hybrid Transactional/Analytical Processing (HTAP). Untuk melihat tindakan ini, gunakan skrip yang sesuai di sample-script.zip, yang merupakan bagian dari rilis sampel. |
PolyBase | Untuk melihat PolyBase ini beraksi, menggunakan tabel eksternal dengan himpunan data publik yang dihosting di Azure Blob Storage, gunakan skrip yang sesuai di sample-script.zip, yang merupakan bagian dari rilis sampel. |
OLTP Dalam Memori | (Versi lengkap database) Jenis tabel semuanya dioptimalkan memori, sehingga parameter bernilai tabel (TVP) semuanya mendapat manfaat dari pengoptimalan memori. Dua tabel pemantauan, Warehouse.VehicleTemperatures dan Warehouse.ColdRoomTemperatures , dioptimalkan memori. Pengoptimalan memori memungkinkan tabel ColdRoomTemperatures diisi pada kecepatan yang lebih tinggi daripada tabel berbasis disk tradisional. Tabel VehicleTemperatures memegang payload JSON dan meminjamkan dirinya untuk diperpanjang menuju skenario IoT. Tabel VehicleTemperatures semakin meminjamkan dirinya ke skenario yang melibatkan EventHubs, Stream Analytics, dan Power BI.Prosedur Website.RecordColdRoomTemperatures tersimpan dikompilasi secara asli untuk lebih meningkatkan performa perekaman suhu ruangan dingin.Untuk melihat contoh OLTP Dalam Memori yang sedang beraksi, lihat driver beban kerja lokasi kendaraan di workload-drivers.zip, yang merupakan bagian dari rilis sampel. |
Indeks penyimpan kolom dalam kluster | (Versi lengkap database) Tabel Warehouse.StockItemTransactions menggunakan indeks penyimpan kolom berkluster. Jumlah baris dalam tabel ini diperkirakan akan tumbuh besar, dan indeks penyimpan kolom berkluster secara signifikan mengurangi ukuran pada disk tabel, dan meningkatkan performa kueri. Modifikasi pada tabel ini hanya sisipan - tidak ada pembaruan/penghapusan pada tabel ini dalam beban kerja online - dan indeks penyimpan kolom berkluster berkinerja baik untuk menyisipkan beban kerja. |
Masking Data Dinamis | Dalam skema database, Masking Data telah diterapkan ke detail bank yang disimpan untuk Pemasok, dalam tabel Purchasing.Suppliers . Staf non-admin tidak akan memiliki akses ke informasi ini. |
Always Encrypted | Demo untuk Always Encrypted disertakan dalam samples.zip yang dapat diunduh, yang merupakan bagian dari rilis sampel. Demo membuat kunci enkripsi, tabel menggunakan enkripsi untuk data sensitif, dan aplikasi sampel kecil yang menyisipkan data ke dalam tabel. |
SQL Server Stretch Database | Tabel Warehouse.ColdRoomTemperatures telah diimplementasikan sebagai tabel temporal, dan dioptimalkan memori dalam versi Lengkap database sampel. Tabel arsip berbasis disk dan dapat direntangkan ke Azure. |
Indeks teks lengkap | Indeks teks lengkap meningkatkan pencarian untuk People, Customers, dan StockItems. Indeks diterapkan ke kueri hanya jika Anda memiliki pengindeksan teks lengkap yang diinstal pada instans SQL Server Anda. Kolom komputasi non-persisten digunakan untuk membuat data yang diindeks teks lengkap dalam tabel StockItems.CONCAT digunakan untuk menggabungkan bidang untuk membuat SearchData yang diindeks teks lengkap.Untuk mengaktifkan penggunaan indeks teks lengkap dalam sampel, jalankan pernyataan berikut dalam database: EXECUTE [Application].[Configuration_ConfigureFullTextIndexing] Prosedur ini membuat katalog teks lengkap default jika belum ada, lalu mengganti tampilan pencarian dengan versi teks lengkap tampilan tersebut). Perhatikan bahwa menggunakan indeks teks lengkap di SQL Server memerlukan pemilihan opsi Teks Lengkap selama penginstalan. Azure SQL Database tidak memerlukan dan konfigurasi khusus untuk mengaktifkan indeks teks lengkap. |
Kolom komputasi yang dipertahankan terindeks | Kolom komputasi persisten terindeks yang digunakan dalam SupplierTransactions dan CustomerTransactions. |
Periksa batasan | Batasan pemeriksaan yang relatif kompleks ada di Sales.SpecialDeals . Ini memastikan bahwa satu dan hanya satu dari DiscountAmount, DiscountPercentage, dan UnitPrice yang dikonfigurasi. |
Batasan unik | Banyak untuk banyak konstruksi (dan batasan unik) disiapkan untuk Warehouse.StockItemStockGroups . |
Tabel partisi | (Versi lengkap database) Tabel Sales.CustomerTransactions dan Purchasing.SupplierTransactions keduanya dipartisi berdasarkan tahun menggunakan fungsi PF_TransactionDate partisi dan skema PS_TransactionDate partisi . Pemartisian digunakan untuk meningkatkan pengelolaan tabel besar. |
Pemrosesan daftar | Contoh jenis Website.OrderIDList tabel disediakan. Ini digunakan oleh contoh prosedur Website.InvoiceCustomerOrders . Prosedur ini menggunakan Common Table Expressions (CTEs), TRY/CATCH, JSON_MODIFY, XACT_ABORT, NOCOUNT, THROW, dan XACT_STATE untuk menunjukkan kemampuan untuk memproses daftar pesanan daripada hanya satu pesanan, untuk meminimalkan perjalanan pulang pergi dari aplikasi ke mesin database. |
Pemadatan GZip | Warehouse.VehicleTemperature Dalam tampilan, tabelnya menyimpan data sensor penuh. Tetapi ketika data ini berusia lebih dari beberapa bulan, data ini dikompresi untuk menghemat ruang. Fungsi COMPRESS menggunakan kompresi GZip.Tampilan Website.VehicleTemperatures menggunakan fungsi DECOMPRESS saat mengambil data yang sebelumnya dikompresi. |
Query Store | Penyimpanan Kueri diaktifkan pada database. Setelah menjalankan beberapa kueri, lakukan langkah-langkah berikut: 1. Buka database di Management Studio. 2. Buka Simpul Penyimpanan Kueri, yang berada di bawah database. 3. Buka laporan Kueri Penggunaan Sumber Daya Teratas. Lihat eksekusi kueri, dan lihat rencana untuk kueri yang baru saja Anda jalankan. |
STRING_SPLIT | Kolom DeliveryInstructions dalam tabel Sales.Invoices memiliki nilai yang dibatasi koma yang dapat digunakan untuk menunjukkan STRING_SPLIT. |
Audit | Audit SQL Server dapat diaktifkan untuk database sampel ini dengan menjalankan pernyataan berikut dalam database:EXECUTE [Application].[Configuration_ApplyAuditing] Di Azure SQL Database, audit diaktifkan melalui portal Azure. Operasi keamanan yang melibatkan login, peran, dan izin dicatat di semua sistem tempat audit diaktifkan (termasuk sistem edisi standar). Audit diarahkan ke log aplikasi karena ini tersedia di semua sistem dan tidak memerlukan izin tambahan. Peringatan diberikan bahwa untuk keamanan yang lebih tinggi, peringatan harus dialihkan ke log keamanan atau ke file dalam folder aman. Tautan disediakan untuk menjelaskan konfigurasi tambahan yang diperlukan. Untuk sistem evaluasi/pengembang/edisi perusahaan, akses ke semua data transaksi keuangan diaudit. |