Viktig Denne artikkelen inneholder informasjon om hvordan du endrer registret. Pass på at du sikkerhetskopierer registret før du endrer den. Kontroller at du vet hvordan du gjenoppretter registret hvis det oppstår et problem. Hvis du vil ha mer informasjon om hvordan du sikkerhetskopierer, gjenoppretter og endrer registeret, kan du klikke følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:

256986 beskrivelse av Microsoft Windows-registret

Symptomer

Når du har oppgradert en Microsoft SQL Server 2000-basert datamaskin til Microsoft SQL Server 2000 Service Pack 4 (SP4), en SQL Server-spørring som kaller en utvidet lagret prosedyre registret kan mislykkes, og du får følgende feilmelding:

Ingen tilgang.

Du får feilmeldingen når du bruker en av registret utvidede lagrede prosedyrer i følgende liste:

  • 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

Årsak

Dette problemet oppstår fordi SQL Server 2000 SP4 implementerer en begrensning på hvilke registerbaner registret utvidede lagrede prosedyrer kan få tilgang til. Når en spørring kaller en utvidet lagret prosedyre registret, undersøker registret utvidet lagret prosedyre registerundernøkkelen forespurte mot en kontrolliste over registerstrukturene. Hvis registerundernøkkelen som ber om spørringen ikke vises i listen over kontrollen, får du følgende feilmelding:

'Tilgang.'

Denne feilmeldingen har ingenting å gjøre med tillatelser på SQL Server-brukerkontoen i konteksten av hvilke av disse registret kalles utvidede lagrede prosedyrer. Feilmeldingen vises selv om brukeren har administrative rettigheter.


Obs! Når du mottar feilmeldingen, er registret utvidet lagret prosedyre, returnerer noen resultater.

Oppløsning

Advarsel Det kan oppstå alvorlige problemer hvis du endrer registeret feilaktig ved å bruke Registerredigering eller en annen metode. Disse problemene kan kreve at du installerer operativsystemet på nytt. Microsoft garanterer ikke at disse problemene kan løses. Endre registret på eget ansvar.

Advarsel Registret utvidede lagrede prosedyrer er udokumentert og kan endres. Derfor anbefaler vi ikke at du kaller disse prosedyrene i Klientkoden. Fremtidige implementeringer av disse prosedyrene, støttes kanskje ikke. I tillegg er det ingen garanti for at tidligere implementeringer fortsetter å bli støttet i senere versjoner av SQL Server.

Hvis du vil løse dette problemet, endrer du registernøkkelen som kontrollerer tilgang til registret utvidet lagret prosedyrer. Kontroll-listen finnes i registret under undernøkkelen MSSQLServer . Finn følgende undernøkkel i registeret for en standardforekomst av SQL Server 2000:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\ExtendedProceduresObs! Denne registernøkkelen opprettes ikke når du bruker SQL Server 2000 SP4 på en klynget forekomsten av SQL Server.

Finn følgende undernøkkel i registeret for en navngitt forekomst av SQL Server 2000:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\ < navn_på_forekomsten > \MSSQLServer\ExtendedProcedure

Obs! Navn_på_forekomsten er navnet på SQL Server 2000 navngitt forekomst.Det finnes to registeroppføringer for REG_MULTI_SZ i undernøkkelen ExtendedProcedure :

  • Xp_regread tillatt baner

  • Xp_regwrite_Allowed-baner

Xp_regread tillatt baner -posten inneholder følgende liste over tillatte registerverdiene for skrivebeskyttet registret utvidede lagrede prosedyrer:

  • xp_regread

  • xp_instance_regread

  • xp_regenumkeys

  • xp_instance_regenumkeys

  • xp_regenumvalues

  • xp_instance_regenumvalues

Xp_regwrite tillatt baner -posten inneholder følgende liste over tillatte register verdier for skrive registret utvidet lagret prosedyrer:

  • 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

Slette oppføringen Xp_regread tillatt baner eller Baner for Xp_regwrite_Allowed -posten, eller slette begge oppføringene for å tillate tilgang til registerundernøkkelen du vil bruke. I tillegg kan du endre verdiene i posten Xp_regread tillatt baner eller Baner for Xp_regwrite_Allowed -oppføringen og legger den utvidede lagrede prosedyren du vil at spørringen skal få tilgang til. Hvis du sletter både oppføringen Xp_regread tillatt baner og Baner for Xp_regwrite tillatt -oppføring, kan du deaktivere begrensningen for registerverdiene. Derfor registret utvidet lagret prosedyre problemet går tilbake til pre-SQL Server 2000 SP4 virkemåten. For å oppnå det samme resultatet, kan du fjerne registernøkkelen ExtendedProcedures . Vi anbefaler at du utvide hver liste med gyldige verdier i stedet for å deaktivere begrensningen som implementerer SQL Server 2000 SP4.

Xp_regread tillatt baner

Følgende er et eksempel for oppføringen Xp_regread tillatt baner .

Obs! FOREKOMSTEN er erstattet med det faktiske navnet på en forekomst av SQL Server.

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

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 tillatt baner

Følgende er et eksempel for oppføringen Xp_regwrite tillatt baner .

Obs! FOREKOMSTEN er erstattet med det faktiske navnet på en forekomst av SQL Server.

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

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

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

Hvis du vil ha mer informasjon

Når du installerer SQL Server 2000 Service Pack 4, fylles installasjonsprogrammet før både registeroppføringen Xp_regread tillatt baner og registeroppføringen Xp_regwrite tillatt baner med utvidede lagrede prosedyrer som har tilgang til SQL Server 2000.

Hvis du vil ha mer informasjon om SQL Server 2000-produktoppdateringer, kan du gå til følgende Microsoft-webområde:

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

Trenger du mer hjelp?

Utvid ferdighetene dine
Utforsk opplæring
Vær først ute med de nye funksjonene
Bli med i Microsoft Insiders

Var denne informasjonen nyttig?

Hvor fornøyd er du med språkkvaliteten?
Hva påvirket opplevelsen din?

Takk for tilbakemeldingen!

×