Penting Artikel ini berisi informasi tentang cara mengubah registri. Pastikan bahwa Anda membuat cadangan registri sebelum mengubahnya. Pastikan bahwa Anda tahu cara memulihkan registri apabila terjadi masalah. Untuk informasi selengkapnya tentang cara membuat cadangan, memulihkan, dan memodifikasi registri, klik nomor artikel berikut ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:

256986 Deskripsi registri Microsoft Windows

Gejala

Setelah Anda meng-upgrade komputer berbasis Microsoft SQL Server 2000 untuk Microsoft SQL Server 2000 Paket Layanan 4 (SP4), permintaan SQL Server yang memanggil registri perpanjangan prosedur tersimpan mungkin gagal, dan Anda menerima pesan galat berikut:

Akses ditolak.

Anda menerima pesan galat ketika Anda menggunakan salah satu dari registri diperpanjang disimpan prosedur di bawah ini:

  • xp_regread

  • xp_instance_regread

  • xp_regenumkeys

  • xp_instance_regenumkeys

  • xp_regenumvalues

  • xp_instance_regenumvalues

  • xp_regwrite

  • xp_instance_regwrite

  • xp_regaddmultistring

  • xp_instance_regaddmultistring

  • xp_regremovemultistring

  • xp_instance_regremovemultistring

  • xp_regdeletevalue

  • xp_instance_regdeletevalue

  • xp_regdeletekey

  • xp_instance_regdeletekey

Penyebab

Masalah ini terjadi karena SQL Server 2000 SP4 menerapkan pembatasan pada registri mana jalur registri diperpanjang disimpan prosedur yang dapat mengakses. Ketika permintaan panggilan registri perpanjangan prosedur tersimpan, registri perpanjangan prosedur tersimpan mengkaji subkunci registri yang diminta terhadap daftar kontrol kumpulan registri. Jika subkunci registri yang meminta permintaan bukan dalam daftar kontrol, Anda menerima pesan galat berikut:

'Akses ditolak.'

Pesan galat ini hubungannya dengan izin akun pengguna SQL Server dalam konteks diperpanjang disimpan prosedur yang salah satu dari registri ini disebut. Pesan galat ini terjadi bahkan jika pengguna memiliki izin Administrator.


Catatan Ketika Anda menerima pesan galat, registri diperpanjang disimpan prosedur kembali tidak ada hasil.

Pemecahan masalah

Peringatan Masalah serius dapat terjadi apabila Anda salah memodifikasi registri menggunakan Penyunting registri atau metode lainnya. Masalah ini mungkin mengharuskan Anda menginstal ulang sistem operasi. Microsoft tidak dapat menjamin bahwa masalah ini dapat diselesaikan. Mengubah registri risiko Anda sendiri.

Peringatan Registri diperpanjang disimpan prosedur didokumentasikan dan dapat diubah. Oleh karena itu, kami tidak menyarankan panggilan prosedur dalam kode klien. Masa mendatang penerapan prosedur ini mungkin tidak didukung. Selain itu, ada tidak ada jaminan bahwa penerapan sebelumnya akan terus didukung pada versi yang lebih baru dari SQL Server.

Untuk mengatasi masalah ini, Ubah kunci registri yang mengontrol akses ke registri diperpanjang disimpan prosedur. Daftar kontrol terletak di dalam registri di bawah subkunci MSSQLServer . Misalnya standar SQL Server 2000, temukan subkunci berikut dalam registri:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\ExtendedProceduresCatatan Kunci registri tidak dibuat saat Anda menerapkan SQL Server 2000 SP4 kluster contoh SQL Server.

Misalnya bernama SQL Server 2000, temukan subkunci berikut dalam registri:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL \MSSQLServer\ExtendedProcedure Server\ < Instance_name >

Catatan Instance_name merupakan nama dari SQL Server 2000 bernama contoh.Pada subkunci ExtendedProcedure , ada dua entri registri REG_MULTI_SZ:

  • Xp_regread diizinkan jalur

  • Jalur Xp_regwrite_Allowed

Entri Xp_regread diizinkan jalur berisi daftar nilai registri yang diizinkan untuk hanya-baca registri diperpanjang disimpan prosedur berikut ini:

  • xp_regread

  • xp_instance_regread

  • xp_regenumkeys

  • xp_instance_regenumkeys

  • xp_regenumvalues

  • xp_instance_regenumvalues

Entri Xp_regwrite diizinkan jalur berisi daftar berikut ini diizinkan registri nilai registri tulis diperpanjang disimpan prosedur:

  • xp_regwrite

  • xp_instance_regwrite

  • xp_regaddmultistring

  • xp_instance_regaddmultistring

  • xp_regremovemultistring

  • xp_instance_regremovemultistring

  • xp_regdeletevalue

  • xp_instance_regdeletevalue

  • xp_regdeletekey

  • xp_instance_regdeletekey

Untuk mengizinkan akses ke subkunci registri yang Anda inginkan, Anda dapat menghapus entri Xp_regread diizinkan jalur atau entri Xp_regwrite_Allowed jalur , atau menghapus entri kedua. Selain itu, Anda dapat mengubah nilai yang entri Xp_regread diizinkan jalur atau entri Xp_regwrite_Allowed jalur dan menambah diperpanjang disimpan prosedur yang Anda inginkan permintaan untuk mengakses. Jika Anda menghapus entri Xp_regread diizinkan jalur dan entri Xp_regwrite diizinkan lintasan , Anda menonaktifkan pembatasan untuk nilai registri. Oleh karena itu, registri perpanjangan prosedur tersimpan perilaku kembali ke perilaku pra-SQL Server 2000 SP4. Untuk mencapai hasil yang sama, Anda dapat menghapus kunci registri ExtendedProcedures . Kami sarankan Anda memperbesar setiap daftar dengan nilai registri yang sah dan bukan menonaktifkan pembatasan yang menerapkan SQL Server 2000 SP4.

Xp_regread diizinkan jalur

Berikut ini adalah contoh entri Xp_regread diizinkan jalur .

Catatan Contoh digantikan dengan nama sebenarnya dari contoh SQL Server.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\ < contoh >

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\80

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SQLServer


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Messaging Subsystem

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\MSSQLServer


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\SQLCTRS

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\SQLServer


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQL$<INSTANCE>


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\ExtensionAgents

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SQLServer


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlset\Services\SQLAgent$<INSTANCE>

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation


HKEY_CURRENT_USER\Software\Microsoft\Mail HKEY_CURRENT_USER\Control Panel\International

Xp_regwrite diizinkan jalur

Berikut ini adalah contoh entri Xp_regwrite diizinkan jalur .

Catatan Contoh digantikan dengan nama sebenarnya dari contoh SQL Server.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\ < contoh >

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlset\Services\SQLAgent$<INSTANCE>

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\80\Replication

Informasi lebih lanjut

Ketika Anda menginstal SQL Server 2000 Paket Layanan 4, program penginstalan pra-memuat entri registri Xp_regread diizinkan jalur dan entri registri Xp_regwrite diizinkan jalur dengan diperpanjang disimpan prosedur yang dapat mengakses SQL Server 2000.

Untuk informasi lebih lanjut tentang paket layanan SQL Server 2000, kunjungi situs Web Microsoft berikut ini:

http://technet.microsoft.com/en-us/sqlserver/bb331754.aspx

Perlu bantuan lainnya?

Kembangkan keterampilan Anda

JELAJAHI PELATIHAN >

Dapatkan fitur baru terlebih dahulu

GABUNG MICROSOFT INSIDER >

Apakah informasi ini bermanfaat?

Seberapa puaskah Anda dengan kualitas bahasanya?
Apa yang memengaruhi pengalaman Anda?

Terima kasih atas umpan balik Anda!

×