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.
Sebelum Anda bisa melakukan tindakan pada database di Visual Studio, Anda harus masuk dengan akun yang memiliki izin tertentu pada database tersebut. Izin spesifik yang Anda butuhkan bervariasi berdasarkan tindakan apa yang ingin Anda lakukan. Bagian berikut ini menjelaskan setiap tindakan yang mungkin ingin Anda lakukan dan izin yang Anda butuhkan untuk melakukannya.
Izin untuk membuat atau menyebarkan database
Anda harus memiliki izin berikut untuk membuat atau menyebarkan database.
| Tindakan | Memerlukan izin |
|---|---|
| Mengimpor objek dan pengaturan database | Anda harus dapat menyambungkan ke database sumber. Jika database sumber didasarkan pada SQL Server 2005, Anda juga harus memiliki atau memiliki VIEW DEFINITION izin pada setiap objek.Jika basis data sumber didasarkan pada SQL Server 2008 atau yang lebih baru, Anda juga harus memiliki izin VIEW DEFINITION pada setiap objek. Login Anda harus memiliki VIEW SERVER STATE izin (untuk kunci enkripsi database). |
| Mengimpor objek dan pengaturan server | Anda harus dapat menyambungkan ke database utama di server yang ditentukan. Jika server menjalankan SQL Server 2005, Anda harus memiliki VIEW ANY DEFINITION izin di server.Jika database sumber didasarkan pada SQL Server 2008 atau yang lebih baru, Anda harus memiliki VIEW ANY DEFINITION izin di server. Login Anda harus memiliki VIEW SERVER STATE izin (untuk kunci enkripsi database). |
| Membuat atau memperbarui proyek database | Anda tidak memerlukan izin database apa pun untuk membuat atau mengubah proyek database. |
| Menyebarkan database baru atau menyebarkan dengan kumpulan opsi Always Re-create Database | Anda harus memiliki CREATE DATABASE izin atau menjadi anggota peran dbcreator di server target.Saat Anda membuat database, Visual Studio tersambung ke model database dan menyalin kontennya. Login awal (misalnya, yourLogin) yang Anda gunakan untuk menyambungkan ke database target harus memiliki db_creator dan CONNECT SQL izin. Login ini harus memiliki pemetaan pengguna pada model database. Jika Anda memiliki izin sysadmin , Anda dapat membuat pemetaan dengan mengeluarkan pernyataan Transact-SQL berikut:USE [model] CREATE USER yourUser FROM LOGIN yourLogin.Pengguna (dalam contoh ini, yourUser) harus memiliki CONNECT izin dan VIEW DEFINITION pada model database. Jika Anda memiliki izin sysadmin , Anda dapat memberikan izin ini dengan mengeluarkan pernyataan Transact-SQL berikut:USE [model] GRANT CONNECT to yourUser GRANT VIEW DEFINITION TO yourUser.Jika Anda menyebarkan database yang berisi batasan yang tidak disebutkan namanya dan opsi CheckNewConstraints diaktifkan, Anda harus memiliki izin db_owner atau sysadmin, jika tidak, penyebaran akan gagal. (CheckNewConstraints diaktifkan secara default.) Persyaratan ini berlaku hanya untuk batasan yang tidak disebutkan namanya. |
| Menyebarkan pembaruan ke database yang sudah ada | Anda harus menjadi pengguna database yang valid. Anda juga harus menjadi anggota peran db_ddladmin , memiliki skema, atau memiliki objek yang ingin Anda buat atau ubah pada database target. Anda memerlukan izin tambahan untuk bekerja dengan konsep yang lebih canggih seperti login atau server tertaut dalam skrip pra-penyebaran atau pasca-penyebaran Anda. Jika Anda menyebarkan ke database utama, Anda juga harus memiliki VIEW ANY DEFINITION izin di server tempat Anda menyebarkan. |
Gunakan rakitan dengan opsi EXTERNAL_ACCESS dalam proyek database. |
Anda harus mengatur TRUSTWORTHY properti untuk proyek database Anda. Anda harus memiliki EXTERNAL ACCESS ASSEMBLY izin untuk login SQL Server Anda. |
| Menyebarkan rakitan ke database baru atau yang sudah ada | Anda harus menjadi anggota peran sysadmin di server penyebaran target. |
Izin untuk merefaktor database
Pemfaktoran ulang database hanya terjadi dalam proyek database. Anda harus memiliki izin untuk menggunakan proyek database. Anda tidak memerlukan izin pada database target hingga Anda menyebarkan perubahan ke database tersebut.
Izin untuk melakukan pengujian unit pada database SQL Server
Anda harus memiliki izin berikut untuk melakukan pengujian unit pada database.
| Tindakan | Memerlukan izin |
|---|---|
| Menjalankan tindakan pengujian | Anda harus menggunakan koneksi database konteks eksekusi. Untuk informasi selengkapnya, lihat Gambaran umum string dan izin koneksi. |
| Menjalankan tindakan pra-pengujian atau pasca-pengujian | Anda harus menggunakan koneksi database konteks istimewa. Koneksi database ini memiliki lebih banyak izin daripada koneksi konteks eksekusi. |
Jalankan TestInitialize dan TestCleanup skrip |
Anda harus menggunakan koneksi database konteks istimewa. |
| Menyebarkan perubahan database sebelum Anda menjalankan pengujian | Anda harus menggunakan koneksi database konteks istimewa. Untuk informasi selengkapnya, lihat Cara: Mengonfigurasi eksekusi pengujian unit SQL Server. |
| Hasilkan data sebelum Anda menjalankan pengujian | Anda harus menggunakan koneksi database konteks istimewa. Untuk informasi selengkapnya, lihat Cara: Mengonfigurasi eksekusi pengujian unit SQL Server. |
Izin untuk menghasilkan data
Untuk menghasilkan data pengujian dengan menggunakan Generator Data, Anda harus memiliki INSERT izin dan SELECT pada objek dalam database target. Jika Anda menghapus data sebelum membuat data, Anda juga harus memiliki DELETE izin pada objek dalam database target. Untuk mengatur ulang IDENTITY kolom pada tabel, Anda harus memiliki tabel, atau Anda harus menjadi anggota dengan hak akses peran db_owner atau db_ddladmin.
Izin untuk membandingkan skema dan data
Anda harus memiliki izin berikut untuk membandingkan skema atau data.
| Tindakan | Memerlukan izin |
|---|---|
| Membandingkan skema dua database | Anda harus memiliki izin untuk mengimpor objek dan pengaturan dari database, seperti yang dijelaskan dalam Izin untuk membuat atau menyebarkan database. |
| Membandingkan skema database dan proyek database | Anda harus memiliki izin untuk mengimpor objek dan pengaturan dari database, seperti yang dijelaskan dalam Izin untuk membuat atau menyebarkan database. Anda juga harus membuka proyek database di Visual Studio. |
| Menulis pembaruan ke database target | Anda harus memiliki izin untuk menyebarkan pembaruan ke database target, seperti yang dijelaskan dalam Izin untuk Membuat atau Menyebarkan Database. |
| Membandingkan data dari dua database | Selain izin yang Anda perlukan untuk membandingkan skema dua database, Anda juga memerlukan izin SELECT untuk semua tabel yang ingin Anda bandingkan. Anda juga memerlukan VIEW DATABASE STATE izin. |
Izin untuk menjalankan editor Transact-SQL
Konteks eksekusi Anda ke database target menentukan apa yang dapat Anda lakukan dalam editor Transact-SQL.
Izin untuk proyek SQL Server CLR
Tabel berikut mencantumkan izin yang harus Anda miliki untuk menerapkan atau debug proyek Common Language Runtime (CLR).
| Tindakan | Memerlukan izin |
|---|---|
| Sebarkan rakitan kumpulan izin yang aman (baik secara awal maupun bertahap) | Izin db_DDLAdmin memberikan izin CREATE dan ALTER untuk rakitan dan jenis objek yang Anda sebarkan.Izin tingkat VIEW DEFINITION database diperlukan untuk penyebaran.Izin tingkat CONNECT database memberikan kapabilitas untuk terhubung ke database. |
| Menyebarkan perakitan kumpulan izin untuk akses eksternal | Izin db_DDLAdmin memberikan CREATE dan ALTER izin untuk rakitan dan jenis objek yang Anda sebarkan.Izin tingkat VIEW DEFINITION database diperlukan untuk penyebaran.Izin tingkat CONNECT database memberikan kapabilitas untuk terhubung ke database.Anda juga harus memiliki pengaturan opsi basis data TRUSTWORTHY diatur ke ON.Login yang Anda gunakan untuk menyebarkan harus memiliki izin server Rakitan Akses Eksternal . |
| Menyebarkan rakitan set izin yang tidak aman | Izin db_DDLAdmin memberikan CREATE dan ALTER izin untuk rakitan dan jenis objek yang Anda sebarkan.Izin tingkat VIEW DEFINITION database diperlukan untuk penyebaran.Izin tingkat CONNECT database memberikan kapabilitas untuk terhubung ke database.Anda juga harus memiliki pengaturan opsi basis data TRUSTWORTHY diatur ke ON.Anda harus menggunakan login yang memiliki izin server Assembly Tidak Aman untuk menyebarkan. |
| Men-debug rakitan SQL CLR dari jarak jauh | Anda harus memiliki izin peran tetap sysadmin . |
Penting
Dalam semua kasus, pemilik assembly harus merupakan pengguna yang Anda gunakan untuk mendistribusikan assembly, atau pemilik tersebut harus berupa peran di mana pengguna itu menjadi anggota. Persyaratan ini juga berlaku untuk rakitan apa pun yang dirujuk oleh rakitan yang Anda sebarkan.