Bagikan melalui


Buat skema database

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSistem Platform Analitik (PDW)Gudang di Microsoft FabricDatabase SQL di Microsoft Fabric

Artikel ini menjelaskan cara membuat skema di SQL Server dengan menggunakan SQL Server Management Studio atau Transact-SQL.

Izin

  • Untuk membuat skema, Anda harus memiliki izin CREATE SCHEMA pada database.

  • Untuk menentukan pengguna lain sebagai pemilik skema yang sedang dibuat, pemanggil harus memiliki izin IMPERSONATE pada pengguna tersebut. Jika peran basis data ditentukan sebagai pemilik, pemanggil harus memenuhi salah satu kriteria berikut: keanggotaan dalam peran, atau izin ALTER pada peran.

Menggunakan SQL Server Management Studio untuk membuat skema

  1. Di Object Explorer, perluas folder Database .

  2. Perluas database untuk membuat skema database baru.

  3. Klik kanan folder Keamanan, arahkan ke Baru, dan pilih Skema.

  4. Dalam kotak dialog Skema - Baru , pada halaman Umum , masukkan nama untuk skema baru dalam kotak Nama skema.

  5. Dalam kotak Pemilik skema, masukkan nama pengguna atau peran database untuk memiliki skema. Secara bergantian, pilih Pencarian untuk membuka kotak dialog Cari Peran dan Pengguna .

  6. Pilih OK.

Catatan

Kotak dialog tidak akan muncul jika Anda membuat Skema menggunakan SSMS terhadap Azure SQL Database atau Azure Synapse Analytics. Anda harus menjalankan pernyataan T-SQL yang dihasilkan untuk Membuat Templat Skema.

Kotak dialog Skema - Baru juga menawarkan opsi pada dua halaman tambahan: Izin dan Properti yang Diperluas.

  • Halaman Izin mencantumkan semua kemungkinan objek yang dapat diamankan dan izin pada objek tersebut yang dapat diberikan kepada pengguna login.

  • Halaman Properti yang diperluas memungkinkan Anda menambahkan properti kustom ke pengguna database.

Menggunakan Transact-SQL untuk membuat skema

  1. Di Object Explorer, sambungkan ke instans Mesin Database.

  2. Pada bilah Standar, pilih Kueri Baru.

  3. Contoh berikut membuat skema bernama Chains, lalu membuat tabel bernama Sizes.

    CREATE SCHEMA Chains;
    
    GO
    
    CREATE TABLE Chains.Sizes
    (
        ChainID INT,
        width DECIMAL (10, 2)
    );
    
  4. Opsi lainnya dapat dilakukan dalam satu pernyataan. Contoh berikut membuat skema Sprockets yang dimiliki oleh Joe yang berisi tabel NineProngs. Pernyataan tersebut memberikan SELECT kepada Bob dan menyangkal SELECT kepada John.

    CREATE SCHEMA Sprockets
        AUTHORIZATION Joe;
    GO
    
    CREATE TABLE NineProngs
    (
       source INT,
       cost INT,
       partnumber INT
    );
    GO
    
    GRANT SELECT
       ON SCHEMA::Sprockets TO Bob;
    GO
    
    DENY SELECT
       ON SCHEMA::Sprockets TO John;
    GO
    
  5. Jalankan pernyataan berikut untuk melihat skema dalam database saat ini:

    SELECT *
    FROM sys.schemas;
    

Pembatasan dan batasan

  • Skema baru dimiliki oleh salah satu prinsipal tingkat database berikut: pengguna database, peran database, atau peran aplikasi. Objek yang dibuat dalam skema dimiliki oleh pemilik skema, dan memiliki NULLprincipal_id dalam sys.objects Kepemilikan objek yang berisi skema dapat ditransfer ke prinsipal tingkat database apa pun, tetapi pemilik skema selalu mempertahankan izin CONTROL pada objek dalam skema.

  • Prinsipal domain ditambahkan ke database sebagai skema saat membuat objek database jika Anda menentukan prinsipal domain yang valid (pengguna atau grup) sebagai pemilik objek. Skema baru dimiliki oleh prinsipal domain tersebut.