webForumDet fria alternativet

Användarproblem vid DB-flytt

7 svar · 404 visningar · startad av ironhead

ironheadMedlem sedan mars 20011 327 inlägg
#1

Hej!

Jag skulle flytta en databas mellan 2 MSSQL 2000 servrar.
Tog backup -> restore på databaserna.
Användaren 'test' följde med som användare och jag försökte
använda

sp_dropuser 'test'

för att kunna skapa denna användaren igen, men fick felmeddelandet:

The selected user cannot be dropped because the user owns objects.

Hur får man bort denna illvilliga användare :)

@ndersMedlem sedan juni 200026 914 inlägg
#2

Du får nog försöka ta reda på vilka objekt användaren äger, och byta ägare på dem.

ironheadMedlem sedan mars 20011 327 inlägg
#3

@nders skrev:

Du får nog försöka ta reda på vilka objekt användaren äger, och byta ägare på dem.

Var kan man se dessa objekt? Kör MMC m. SQL Ent Mgr.

OveRRidEMedlem sedan feb. 20018 509 inlägg
#4

ironhead skrev:

Hej!

Jag skulle flytta en databas mellan 2 MSSQL 2000 servrar.
Tog backup -> restore på databaserna.
Användaren 'test' följde med som användare och jag försökte
använda

sp_dropuser 'test'

för att kunna skapa denna användaren igen, men fick felmeddelandet:

The selected user cannot be dropped because the user owns objects.

Hur får man bort denna illvilliga användare :)

Bindningar till gammal data, som följer med vid backupen om du valt att backupa roller/användare.

1. Kryssa i alternativet "Allow modifications to be made directly to the system catalogs" på serverns inställningsflik "Properties > Server settings"
2. Radera användaren ur den aktuella databasens systemtabell 'sysusers'
3. Lägg till användaren i databasen igen
4. Kryssa ur rutan under punkt 1

Du bör vara försiktig om det är en produktionsserver, fixa med systemtabellerna kan ställa till problem om man gör fel.

ironheadMedlem sedan mars 20011 327 inlägg
#5

Försökte tabort användaren från 'sysusers' med felmeddelandet:

Ad hoc updates to system catalogs are not enabled.
The system administrator must reconfigure SQL Server to allow this.

OveRRidEMedlem sedan feb. 20018 509 inlägg
#6

Kryssade du verkligen i alternativet, enligt punkt 1?

OveRRidEMedlem sedan feb. 20018 509 inlägg
#7

Vid närmare eftertanke, kanske det är annorlunda i SQL Server 2000, i 7.0 räcker det med kryssrutan.

Om du nu vill kan du ju göra såhär också;

sp_configure 'allow updates', 1
go
reconfigure with override
go

Testa sen att radera användaren. Sen får du köra igen, med 0 istället, för att reset'a själva "allow updates"-parametern.

Som sagt, var försiktig!

ironheadMedlem sedan mars 20011 327 inlägg
#8

äh! Gjorde det lite enklare för mig:
1. Tog db:n offline
2. Skapade tom motsvarande db
3. skapade användaren
4. gjorde en DTS-export

funkade bra...

Genererad på 372 ms · cache AV · v20260730165559-full.f96bc7eb