webForumDet fria alternativet
Logga in / Bli medlem

Användarproblem vid DB-flytt

Databaser & SQL

7 svar · 404 visningar · startad av ironhead

Medlem sedan mars 20011 346 inlägg
Trådstart#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 :)

Medlem sedan juni 200032 967 inlägg
#2

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

Medlem sedan mars 20011 346 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.

Medlem sedan feb. 200112 078 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.

Medlem sedan mars 20011 346 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.

Medlem sedan feb. 200112 078 inlägg
#6

Kryssade du verkligen i alternativet, enligt punkt 1?

Medlem sedan feb. 200112 078 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!

Medlem sedan mars 20011 346 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...

257 ms totalt · 4 externa anrop · v20260731065814-full.81e7e81c
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)