Pelajaran 2: Mengonfigurasi izin pada objek database

Berlaku untuk: SQL Server Azure SQL DatabaseAzure SQL Managed InstanceAnalytics Platform System (PDW)

Catatan

Jalur pembelajaran Memulai Kueri dengan Transact-SQL menyediakan konten yang lebih mendalam, bersama dengan contoh praktis.

Memberikan akses pengguna ke database melibatkan tiga langkah. Pertama, Anda membuat login. Login memungkinkan pengguna terhubung ke mesin database SQL Server. Kemudian Anda mengonfigurasi login sebagai pengguna dalam database yang ditentukan. Dan akhirnya, Anda memberikan izin pengguna tersebut ke objek database. Pelajaran ini menunjukkan kepada Anda tiga langkah ini, dan menunjukkan kepada Anda cara membuat tampilan dan prosedur tersimpan sebagai objek .

Catatan

Pelajaran ini bergantung pada objek yang dibuat di Pelajaran 1 - Membuat objek database. Selesaikan Pelajaran 1 sebelum melanjutkan ke pelajaran 2.

Prasyarat

Untuk menyelesaikan tutorial ini, Anda memerlukan SQL Server Management Studio dan akses ke instans SQL Server.

Jika Anda tidak memiliki akses ke instans SQL Server, pilih platform Anda dari tautan berikut. Jika Anda memilih Autentikasi SQL, gunakan info masuk SQL Server Anda.

Kami mendengarkan: Jika Anda menemukan sesuatu yang kedaluarsa atau salah dalam artikel ini, seperti langkah atau contoh kode, harap beri tahu kami. Anda dapat mengklik tombol Halaman ini di bagian Umpan Balik di bagian bawah halaman ini. Kami membaca setiap item umpan balik tentang SQL, biasanya keesokan harinya. Terima kasih.

Membuat login

Untuk mengakses Mesin Database, pengguna memerlukan login. Login dapat mewakili identitas pengguna sebagai akun Windows atau sebagai anggota grup Windows, atau login dapat menjadi login SQL Server yang hanya ada di SQL Server. Bila memungkinkan, Anda harus menggunakan Autentikasi Windows.

Secara default, administrator di komputer Anda memiliki akses penuh ke SQL Server. Untuk pelajaran ini, kami ingin memiliki pengguna yang kurang istimewa; oleh karena itu, Anda akan membuat akun Autentikasi Windows lokal baru di komputer Anda. Untuk melakukan ini, Anda harus menjadi administrator pada komputer Anda. Kemudian Anda memberikan akses pengguna baru tersebut ke SQL Server.

Membuat akun Windows baru

  1. Pilih Mulai, pilih Jalankan, dalam kotak Buka , ketik %SystemRoot%\system32\compmgmt.msc /s lalu pilih OK untuk membuka program Manajemen Komputer.
  2. Di bawah Alat Sistem, perluas Pengguna dan Grup Lokal, klik kanan Pengguna, lalu pilih Pengguna Baru.
  3. Dalam kotak Nama pengguna ketik Mary.
  4. Dalam kotak Kata Sandi dan Konfirmasi kata sandi , ketik kata sandi yang kuat, lalu pilih Buat untuk membuat pengguna Windows lokal baru.

Membuat masuk SQL

Di jendela Editor Kueri SQL Server Management Studio, ketik dan jalankan kode computer_name berikut mengganti dengan nama komputer Anda. FROM WINDOWS menunjukkan bahwa Windows mengautentikasi pengguna. Argumen opsional DEFAULT_DATABASE tersambung Mary ke TestData database, kecuali string koneksi menunjukkan database lain. Pernyataan ini memperkenalkan titik koma sebagai penghentian opsional untuk pernyataan Transact-SQL.

CREATE LOGIN [computer_name\Mary]
    FROM WINDOWS
    WITH DEFAULT_DATABASE = [TestData];
GO

Ini mengotorisasi nama Marypengguna , diautentikasi oleh komputer Anda, untuk mengakses instans SQL Server ini. Jika ada lebih dari satu instans SQL Server di komputer, Anda harus membuat login pada setiap instans yang Mary harus diakses.

Catatan

Karena Mary bukan akun domain, nama pengguna ini hanya bisa diautentikasi pada komputer ini.

Memberikan akses ke database

Akun Mary sekarang memiliki akses ke instans SQL Server ini, tetapi tidak memiliki izin untuk mengakses database. Akun bahkan tidak memiliki akses ke database TestData default sampai Anda mengotorisasi akun sebagai pengguna database.

Untuk memberikan Mary akses, beralihlah ke TestData database, lalu gunakan pernyataan CREATE USER untuk memetakan login ke pengguna bernama Mary.

Membuat pengguna dalam database

Ketik dan jalankan pernyataan berikut (mengganti computer_name dengan nama komputer Anda) untuk memberikan Mary akses ke TestData database.

USE [TestData];
GO

CREATE USER [Mary] FOR LOGIN [computer_name\Mary];
GO

Sekarang, Mary memiliki akses ke SQL Server dan TestData database.

Membuat tampilan dan prosedur tersimpan

Sebagai administrator, Anda dapat menjalankan SELECT dari Products tabel dan vw_Names tampilan, dan menjalankan pr_Names prosedur; namun, Mary tidak bisa. Untuk memberi Maria izin yang diperlukan, gunakan pernyataan GRANT.

Memberikan izin untuk prosedur tersimpan

Jalankan pernyataan berikut untuk memberikan MaryEXECUTE izin untuk prosedur tersimpan pr_Names .

GRANT EXECUTE ON pr_Names TO Mary;
GO

Dalam skenario ini, Mary hanya dapat mengakses Products tabel dengan menggunakan prosedur tersimpan. Jika Anda ingin Mary dapat menjalankan pernyataan SELECT terhadap tampilan, maka Anda juga harus mengeksekusi GRANT SELECT ON vw_Names TO Mary. Untuk menghapus akses ke objek database, gunakan pernyataan REVOKE.

Catatan

Jika tabel, tampilan, dan prosedur tersimpan tidak dimiliki oleh skema yang sama, memberikan izin menjadi lebih kompleks.

Tentang GRANT

Anda harus memiliki izin EXECUTE untuk menjalankan prosedur tersimpan. Anda harus memiliki izin SELECT, INSERT, UPDATE, dan DELETE untuk mengakses dan mengubah data. Pernyataan GRANT juga digunakan untuk izin lain, seperti izin untuk membuat tabel.

Langkah berikutnya

Artikel berikutnya mengajarkan Anda cara menghapus objek database yang Anda buat di pelajaran lain.

Buka artikel berikutnya untuk mempelajari selengkapnya: