Conectați-vă cu Microsoft
Conectați-vă sau creați un cont.
Salut,
Selectați un alt cont.
Aveți mai multe conturi
Alegeți contul cu care doriți să vă conectați.

Important Acest articol conține informații despre modificarea valorilor de registry. Asigurați-vă că aveți o copie de rezervă înainte de a modifica o. Asigurați-vă că știți să restaurați registry dacă apare o problemă. Pentru mai multe informații despre cum să creați copii de rezervă, restaurarea și modificarea registry, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:

256986 Descrierea registry din Microsoft Windows

Simptome

După ce faceți upgrade unui computer cu Microsoft SQL Server 2000 pentru Microsoft SQL Server 2000 Service Pack 4 (SP4), o interogare SQL Server care apelează un registry proceduri stocate extinse pot să nu reușească și primiți următorul mesaj de eroare:

Acces refuzat.

Primiți mesajul de eroare atunci când utilizați una din registry extins proceduri stocate în următoarea listă:

  • 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

Cauza

Această problemă se produce deoarece SQL Server 2000 SP4 implementează o restricție pe registry care stochează căi registry extins proceduri pot accesa. Atunci când o interogare apelează un registry proceduri stocate extinse, registry proceduri stocate extinse examinează subcheia de registry solicitată o listă de control de secțiuni de registry. Dacă subcheia de registry care solicită interogarea nu este în lista de control, primiţi următorul mesaj de eroare:

"Acces refuzat."

Acest mesaj de eroare nu are nimic de a face cu permisiunile SQL Server contului de utilizator în contextul de care dintre aceste registry este numit proceduri stocate extinse. Mesajul de eroare se produce chiar dacă utilizatorul are permisiuni de Administrator.


Notă Când primiți mesajul de eroare, registry extins procedură stocată returnează niciun rezultat.

Rezolvare

Avertisment Pot apărea probleme grave dacă modificați incorect registry utilizând Registry Editor sau altă metodă. Aceste probleme pot necesita reinstalarea sistemului de operare. Microsoft nu poate garanta că aceste probleme pot fi remediate. Modificați registry pe propriul risc.

Avertisment Registry proceduri stocate extinse sunt nedocumentat și se pot modifica. De aceea, nu recomandăm apelați aceste proceduri în codul de client. Implementările viitoare de aceste proceduri nu pot fi acceptate. În plus, nu există nici o garanție că implementările anterioare vor continua să fie acceptată în versiunile ulterioare de SQL Server.

Pentru a rezolva această problemă, modificați cheia de registry care controlează accesul la registry extins stocate proceduri. Listă de control se află în registry sub subcheia MSSQLServer . Pentru o instanță implicită de SQL Server 2000, identificați următoarea subcheie din registry:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\ExtendedProceduresNotă Această cheie de registry nu este creat atunci când se aplică o instanță clustere de SQL Server SQL Server 2000 SP4.

Pentru o instanță denumită de SQL Server 2000, identificați următoarea subcheie din registry:

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

Notă Instance_name este numele de SQL Server 2000 denumit instanță.În subcheia ExtendedProcedure , există două intrări de registry REG_MULTI_SZ:

  • Xp_regread căi permise

  • Căile Xp_regwrite_Allowed

Intrarea Xp_regread permise căi conține următoarea listă de valori permise registry pentru registry doar în citire proceduri stocate extinse:

  • xp_regread

  • xp_instance_regread

  • xp_regenumkeys

  • xp_instance_regenumkeys

  • xp_regenumvalues

  • xp_instance_regenumvalues

Intrarea Xp_regwrite permise căi conține următoarea listă de proceduri de valori de registry de scriere extins stocate permise de registry:

  • 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

Pentru a permite accesul la subcheia de registry pe care doriți, puteți fie șterge intrarea Xp_regread permise căi sau intrarea Xp_regwrite_Allowed căi sau ștergeți ambele intrări. În plus, aveți posibilitatea să modificați valorile care sunt în intrarea Xp_regread permise căi sau intrarea Xp_regwrite_Allowed căi și adăugați procedura stocată extinsă pe care doriți interogarea pentru a accesa. Dacă ștergeți intrarea Xp_regread permise căi şi de intrarea Xp_regwrite permise căi , dezactivați restricția pentru valorile de registry. Prin urmare, registry extins procedură stocată comportament revine la comportamentul pre-SQL Server 2000 SP4. Pentru a realiza același rezultat, puteţi elimina cheia de registry ExtendedProcedures . Vă recomandăm să extindeți lista fiecare cu valorile de registry validă în loc să dezactivați restricția care implementează SQL Server 2000 SP4.

Xp_regread căi permise

Următorul exemplu este un pentru intrarea Xp_regread permise căi .

Notă Instanță este înlocuit cu numele real al o instanță a SQL Server.

HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\ < INSTANCE >

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


Subsistemul de mesagerie HKEY_LOCAL_MACHINE

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 căi permise

Următorul exemplu este un pentru intrarea Xp_regwrite permise căi .

Notă Instanță este înlocuit cu numele real al o instanță de SQL Server.

HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\ < INSTANCE >

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

HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\80\Replication

Mai multe informații

Când instalați SQL Server 2000 Service Pack 4, programul de instalare pre-populează atât intrarea de registry Xp_regread permise căi și intrarea de registry Xp_regwrite permise căi cu proceduri stocate extinse, care pot accesa SQL Server 2000.

Pentru mai multe informații despre pachetele service pack SQL Server 2000, vizitați următorul site Web Microsoft:

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

Aveți nevoie de ajutor suplimentar?

Extindeți-vă competențele
Explorați instruirea
Fiți primul care obține noile caracteristici
Alăturați-vă la Microsoft Insider

Au fost utile aceste informații?

Cât de mulțumit sunteți de calitatea limbajului?
Ce v-a afectat experiența?

Vă mulțumim pentru feedback!

×