Pelajaran 2: Mengonfigurasi izin pada objek database
Berlaku untuk: SQL Server Azure SQL Database Azure SQL Managed Instance Analytics 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.
- Instal SQL Server Management Studio.
Jika Anda tidak memiliki akses ke instans SQL Server, pilih platform Anda dari tautan berikut. Jika Anda memilih Autentikasi SQL, gunakan kredensial masuk SQL Server Anda.
- Windows: Unduh SQL Server 2022 Developer Edition.
- Linux: Unduh SQL Server 2022 dalam kontainer.
Kami mendengarkan: Jika Anda menemukan sesuatu yang ketinggalan jaman atau salah dalam artikel ini, seperti langkah atau contoh kode, 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 berupa login SQL Server yang hanya ada di SQL Server. Jika 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
- Pilih Mulai, pilih Jalankan, dalam kotak Buka , ketik
%SystemRoot%\system32\compmgmt.msc /s
lalu pilih OK untuk membuka program Manajemen Komputer. - Di bawah Alat Sistem, perluas Pengguna dan Grup Lokal, klik kanan Pengguna, lalu pilih Pengguna Baru.
- Dalam kotak Nama pengguna ketik Mary.
- 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 Mary
pengguna , 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 dapat 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, Maria tidak dapat. Untuk memberi Maria izin yang diperlukan, gunakan pernyataan GRANT.
Memberikan izin untuk prosedur tersimpan
Jalankan pernyataan berikut untuk memberikan Mary
EXECUTE
izin untuk prosedur tersimpan pr_Names
.
GRANT EXECUTE ON pr_Names TO Mary;
GO
Dalam skenario ini, Maria hanya dapat mengakses Products
tabel dengan menggunakan prosedur tersimpan. Jika Anda ingin Mary dapat menjalankan pernyataan SELECT terhadap tampilan, maka Anda juga harus menjalankan 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 cara menghapus objek database yang Anda buat di pelajaran lain.
Buka artikel berikutnya untuk mempelajari selengkapnya: