Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Artiklar / Titel på artikeln

Skapa befintliga konto för en återskapad databas

Postad 2002-10-05 av Susanne Hayat i sektionen ASP.NET, C#, Okategoriserat med 0 Kommentarer | Läst av: 3244, Betyg: 0%

Förord

Innehåll
  » Tillvägagångssätt
  » Create.LoginsTable.sql
  » Create.logins.sql

Skapa nya Login till databaser som har flyttats till en annan SQL Server


av Diana Dee

I våran planering till att uppgradera vår produktionsserver från SQL Server 7.0 till SQL Server 2000, så beslöt vi att vi först skulle partionera om hårddiskarna, installera om Windows 2000 Advanced Server och sedan installera SQL Server 2000. För att kunna hantera webbtrafiken med minimala avbrott, så planerade som så att vi skulle köra en backup på alla tio produktionsdatabaser för att sedan lagra dem på en temporär ersättningsserver, vilken skulle köra SQL Server 2000.

Alla dessa databaser har många användare. Användarna är mappade till sina SQL Server logins genom ett säkerhets-identifikationsnummer (SID). När man lagrar en databas på en annan SQL Server, så har inte den nya servern de login som databasanvändarna är mappade till. Eller om man har skapat nya login på den nya servern, så stämmer inte de SID på de nyskapade loginen ihop med de SID som är kopplade till användaren. Användarna ligger fortfarande kvar i sysusers tabellen, men de syns inte i Enterprise Manager. Den här situationen kallas ”Orphaned Users” (Övergivna användare).

En lösning till det här problemet är att använda sig av den lagrade proceduren sp_change_users_login och är sammanfattad i Knowledge Base artikel Q274188. Hur som helst så måste den här lösningen tillämpas databas för databas.


Tillvägagångssätt


  • Alla login med dess krypterade lösenord, standarddatabaserna samt alla SIDs ska kopieras till en tabell i Northwind databasen (den här databasen valdes eftersom den redan finns då du installerat SQL Server). Proceduren, Create.LoginsTabel.sql, som utför det här, visas längre ner.
  • Nästa steg är att DTSa Logintabellerna från .Northwind till .Northwind.
  • Parallellt så måste du flytta alla databaser till den nya Servern. Detta måste du göra innan du skapar dina Login, eftersom det inte går att skapa ett Login för en standarddatabas som inte finns.
  • Efter att du har flyttat alla databaser, så kan du skapa dina nya Login med Create.logins.sql, som visas längre ner.



Create.LoginsTable.sql


-- Skapar tabellens Login i Northwind
-- innehållande alla SQL Login på Servern
-- (förutom 'sa', 'guest', och 'distributor_admin')

USE Northwind
GO

-- Skapar tabellens Login i Nortwind

CREATE TABLE [dbo].[Logins] (
[Name] [varchar] (30) NULL ,
[EncryptedPassword] [nvarchar] (128) NULL ,
[DefaultDB] [nvarchar] (128) NULL ,
[DefLanguage] [nvarchar] (128) NULL ,
[sid] [varbinary] (85) NULL ,
[EncryptOpt] [varchar] (30) NULL ,
[LoginName] [varchar] (50) NULL
) ON [PRIMARY]
GO

-- Lägger in informationen om alla Login i tabellens Login.

INSERT logins
SELECT name, [password], dbname, language, sid,
'skip_encryption', loginname
FROM master..syslogins
ORDER BY name
GO

-- Raderar speciella SQL Login och alla Windows Login.

dDELETE logins
WHERE loginname IN ('distributor_admin', 'guest', 'sa')
OR loginname LIKE '%\%'
GO

-- För att se resultaten.

SELECT name, defaultdb FROM logins



Create.logins.sql


-- Skapar källserverns Login på målservern

USE Master
Go

DECLARE logincur CURSOR
FAST_FORWARD
FOR
SELECT [name], encryptedpassword, defaultdb,
deflanguage, sid, encryptopt
FROM Northwind..logins

DECLARE @loginame varchar(30),
@passwd nvarchar(128),
@defdb nvarchar(128),
@deflang nvarchar(128),
@sid varbinary(85),
@encryptopt varchar(30)

OPEN logincur

FETCH NEXT FROM logincur
INTO @loginame, @passwd, @defdb,
@deflang, @sid, @encryptopt

WHILE (@@fetch_status = 0)
BEGIN

EXEC master..sp_addlogin
@loginame, @passwd, @defdb,
@deflang, @sid, @encryptopt

FETCH NEXT FROM logincur
INTO @loginame, @passwd, @defdb,
@deflang, @sid, @encryptopt

END

CLOSE logincur
DEALLOCATE logincur
GO


Upp

0 Kommentarer

Skriv en kommentar på artikeln

Ditt betyg på artikeln



Kommentar:





Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 615
27 953
271 709
397
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies