Re: Verwaiste Benutzer

From: Ralf Dietrich (du.sollst.mir.keinen.spam.schicken_at_t-online.de)
Date: 03/13/04


Date: Sat, 13 Mar 2004 22:19:00 +0100

Hallo Oliver,
Oliver Kitz wrote:
> Hallo NG,
> bei der Wiederherstellung einer DB auf einem neuen SQL-
> Server sind zwar die Benutzername auf DB-Ebene vorhanden,
> jedoch fehlt die Zugriffsberechtigung auf den Server.
> Muss ich jetzt tatsächlich allen Benutzern neuen Zugriff
> auf den Server erteilen ? Oder gibt es eine Möglichkeit
> den Benutzern der DB Zugriff auf den Server zu geben. Der
> alte Server ist übrigens futsch. Hat mir der System Admin
> abgeschossen !
> MfG
> Oliver
probiere mal einen Skript in dieser Art aus:

-- Vorbereitung
EXEC sp_configure 'show advanced options', 1
RECONFIGURE
EXEC sp_configure 'allow updates', 1
RECONFIGURE WITH OVERRIDE
/*
Wenn Du noch ein Backup der alten master-datenbank hast:
restore der alten master als <master_alt> und dann folgender Skript
INSERT master.dbo.sysxlogins (spaltenliste)
SELECT (spaltenliste)
FROM master_alt.dbo.sysxlogins
WHERE name NOT IN (SELECT name FROM master.dbo.sysxlogins)
-- anschließend zur Nachbereitung
-- sonst hier weiterlesen
*/
-- Sind das die verwaisten Benutzer?
SELECT name
FROM <deine Datenbank>.dbo.sysusers
WHERE uid BETWEEN 5 AND 16000

/* nur als Info
EXEC sp_grantlogin (wenn Du NT-Konten hattest, dann bist Du sehr glücklich,
weil die SID's aus master und user-db übereinstimmen sollten) sonst
EXEC sp_addlogin (für die SQL-Konten)
*/
-- nun ein kleiner Cursor
DECLARE @user sysname
DECLARE @sidin varbinary(85)
DECLARE losgehts CURSOR
FOR SELECT name, sid
            FROM <deine Datenbank>.dbo.sysusers
            WHERE uid BETWEEN 5 AND 16000
OPEN losgeht

FETCH NEXT FROM losgehts INTO @user, @sidin
WHILE @@FETCH_STATUS = 0
   BEGIN
        EXEC sp_addlogin @loginname = @user, @sid = @sidin
-- bzw. EXEC sp_grantlogin @loginame = @user
        FETCH NEXT FROM losgehts INTO @user, @sidin
   END

CLOSE losgehts
DEALLOCATE losgehts

-- Nachbereitung
EXEC sp_configure 'allow updates', 0
RECONFIGURE WITH OVERRIDE
EXEC sp_configure 'show advanced options', 0
RECONFIGURE
-- nun solltest Du nur noch daran denken, dass die (SQL-)Benutzer im Moment
kein Passwort haben. in der sp_addlogin-Proc kannst Du aber eins mitgeben,
wenn Du willst
Viel Erfolg!

-- 
CU Ralf
---------------------------
www.damisys.de
---------------------------


Relevant Pages

  • Re: String manipulation - taking one long csv string and putting into separate record fields
    ... From what I can work out, it looks as if the script is taking ... "%2147746132" from the computer VPN-01 when attempting to activate the ... computer VPN-01 when attempting to activate the server: ... EXEC xp_startmail ...
    (microsoft.public.sqlserver.programming)
  • Re: Replicating database schema changes in "daisy chain" situation
    ... create database central ... exec sp_replicationdboption 'central','merge publish','true' ... SQL Server B> is installed in another country and replicates key master data from server A.> MSDE Instance C replicates with Server B to receive this master data as well> as merge data that is shared only between B and C. ...
    (microsoft.public.sqlserver.replication)
  • Re: Script to delete backup files which are 7 days old
    ... you might want to know that the sp_smtp_sendmail and xp_smtp_sendmail have been used for this purpose by many many people on SQL Server 2000. ... DECLARE @DeleteFiles NVARCHAR ... SELECT 'exec xp_cmdshell ''DEL "' ...
    (microsoft.public.sqlserver.tools)
  • Re: Share Point Services
    ... Change the database ownership and permissions for the configuration database ... Microsoft SQL Server, and then click Query Analyzer. ... EXEC sp_changedbowner @AdminVSAccount; ...
    (microsoft.public.sharepoint.windowsservices)
  • Re: setup.exe als Benutzer ausführen
    ... ohne den Benutzern die Rechte zu erweitern? ... ein älteres Programm ein, welches nicht Netzwerkfähig ist. ... Daten auf den Server kopiert werden. ... Dieser Kopiervorgang soll in eine EXE ...
    (microsoft.public.de.german.allgemein)