Saya baru saja mengimpor database produksi SQL Server 2008r2 yang ada ke proyek database VS 2013.
Saya sekarang mendapatkan sejumlah kesalahan di sepanjang baris
Error SQL71501: User: [mydbuser] has an unresolved reference to Login [mydbuser].
Saya tidak benar-benar membutuhkan proyek VS DB saya untuk mengelola pengguna, tetapi saya khawatir bahwa itu akan mencoba untuk menghapus mereka saat digunakan jika mereka tidak ada di sana.
File itu sendiri dihasilkan sebagai
CREATE USER [mydbuser] FOR LOGIN [mydbuser];
atau
CREATE USER [mydomainuser] FOR LOGIN [MYDOMAIN\mydomainuser];
Penanda kesalahan menunjukkan bahwa itu khusus untuk Login . Karena itu adalah objek tingkat sistem, saya dapat memahaminya karena berada di luar ruang lingkup proyek db.
Apakah saya lebih suka mengubah semuanya?
CREATE USER [mydbuser] WITHOUT LOGIN;
atau tambahkan CREATE LOGIN
klausa ke awal setiap file?
Menghapus referensi login tampaknya lebih sederhana dan menghapus pengguna sekaligus adalah yang paling sederhana.
Saya ingin memastikan bahwa saya menggunakan alat seperti yang dimaksudkan. Apakah akan ada masalah dalam mempublikasikan kembali semua yang kembali ke produksi? Apa prosedur yang tepat untuk menambahkan pengguna / login melalui proyek?
Jawaban:
Cara termudah adalah tidak mengelola pengguna melalui ssdt (kebanyakan orang tidak). Jadi Anda bisa menghapusnya dan tidak menggunakan login atau pengguna.
Ada tiga cara:
Ed
sumber
Saya memiliki masalah yang sama dan menemukan tautan ini
Pengguna memiliki referensi yang belum terselesaikan untuk Login
sumber
Rupanya, masalah ini masih terjadi pada proyek-proyek database VS2017 juga.
Saya sudah berhasil menyelesaikannya dengan terlebih dahulu membuat login dan kemudian membuat pengguna.
sumber