Pengguna login dan hak akses pada database mungkin salah setelah database dipulihkan

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 168001 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

GEJALA

Jika dump SQL Server database pengguna dikembalikan ke SQL Server yang berbeda (seperti server backup panas) atau sama SQL Server Setelah membangun kembali atau reload versi lama dari master database, pengguna login dan hak akses pada database mungkin salah.

Ini masalah dapat mengungkapkan dirinya sendiri dalam beberapa cara:
  • Sementara log on ke 6.x server, pengguna dapat menerima galat berikut:
    MSG 4002, tingkat 14, negara bagian 1, Server Microsoft SQL Server, Line 0
    Login gagal
    DB-perpustakaan: Login tidak benar.
  • Sementara log on ke 7.0 server, pengguna dapat menerima galat berikut:
    MSG 18456, tingkat 14, negara bagian 1,
    Login gagal untuk pengguna '% ls'.
  • Ketika mencoba untuk mengakses objek dalam database, pengguna mungkin menerima galat berikut:
    MSG 229, tingkat 14, negara 1
    %s izin ditolak pada objek %. * s, database %. * s, pemilik %.*s
  • Ketika mencoba untuk membuat sebuah login dan memberikan akses ke dikembalikan database, atau menambahkan pengguna ke database, galat berikut mungkin menerima:
    Microsoft SQL-DMO (ODBC SQLState: 42000) kesalahan 15023: Pengguna atau peran '% s' sudah ada dalam database saat ini.
  • Pengguna dapat memiliki izin pada objek yang mereka sebelumnya tidak.

PENYEBAB

Informasi logon pengguna disimpan di tabel syslogins di master database. Dengan mengubah server, atau dengan mengubah informasi ini oleh membangun kembali atau mengembalikan versi lama dari database master, informasi mungkin berbeda dari ketika pengguna database dump diciptakan. Jika tidak login ada untuk pengguna, mereka akan menerima kesalahan menunjukkan "Login gagal" saat mencoba logon ke server. Jika pengguna login memang ada, tapi SUID nilai (untuk 6.x) atau nilai-nilai SID (untuk 7.0) di master.syslogins dan sysusers tabel dalam database pengguna berbeda, pengguna mungkin memiliki hak akses yang berbeda dari yang diharapkan dalam database pengguna.

Catatan Jika Anda menggunakan Microsoft SQL Server 2005, syslogins tabel dan sysusers Tabel diimplementasikan sebagai kompatibilitas dilihat. Pandangan-pandangan ini sys.syslogins dan sys.sysusers. Untuk informasi lebih lanjut tentang kompatibilitas pandangan, lihat topik "Kompatibilitas tampilan (Transact-SQL)" dalam SQL Server 2005 buku Online.

TEKNIK PEMECAHAN MASALAH

Untuk mengatasi masalah ini, lakukan salah satu berikut ini:
  • Jika saat ini skrip tersedia untuk menambah login, pengguna, dan izin, drop dan membuatnya kembali dari script. Untuk contoh menggunakan script untuk mentransfer login antara server, lihat Basis Pengetahuan Microsoft berikut Artikel:
    246133 CARA: Mentransfer login dan password antara contoh-contoh SQL Server
    240872 Cara mengatasi masalah izin ketika Database pindah antara SQL Server
  • Anda dapat menggunakan sp_change_users_login disimpan prosedur untuk reassociate hubungan antara Tabel syslogins, sysusers dan sysalternates. Namun, prosedur membuat terbaik memperkirakan pada link, dan memungkinkan pengguna hak akses lebih daripada yang dimaksudkan. Menjalankan prosedur dengan laporan pilihan pertama akan menghasilkan daftar pengguna yang akan diubah. Setelah itu, Anda harus memeriksa untuk memastikan bahwa mempengaruhi pengguna memiliki izin yang sesuai. Perlu diketahui juga bahwa sp_change_users_login prosedur tidak memperbaiki masalah izin yang berasal dari login dan pengguna dibuat dalam urutan yang berbeda pada database di mana cadangan dikembalikan.
  • Memulihkan dump dari database master dari waktu pengguna database dump ke server sebelum loading pengguna database. Melakukan hal ini menjamin bahwa semua informasi pengguna di pengguna database sesuai dengan benar dengan tabel syslogins master.

    PERINGATAN: Database master berisi informasi server-lebar, dan mempengaruhi semua database pada server. Oleh memulihkan master database, Anda mungkin pertemuan tambahan user id dan/atau database yang hilang atau salah izin. Setiap perubahan master yang telah terjadi sejak saat cadangan akan hilang. Hanya gunakan metode ini jika Anda yakin bahwa cadangan Versi database master berisi informasi yang akurat untuk pengguna database yang bersangkutan dan semua database pada server.
  • Gunakan Transfer Manajer (untuk 6.x) atau DTS (untuk 7.0) untuk menyalin login. Sadarilah bahwa password tidak akan ditransfer menggunakan metode ini.
  • Kontak Anda dukungan utama penyedia.

Properti

ID Artikel: 168001 - Kajian Terakhir: 15 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft SQL Server 6.0 Standard Edition
  • Microsoft SQL Server 6.5 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Workgroup Edition
Kata kunci: 
kbprb kbusage kbmt KB168001 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:168001

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com