Kaip perkelti vardų ir slaptažodžių tarp SQL serverio egzempliorius

SVARBU: šis straipsnis išverstas naudojant „Microsoft“ mašininio vertimo programinę įrangą ir gali būti pataisytas naudojant „Community Translation Framework“ (CTF) technologiją. „Microsoft“ siūlo mašinos išverstus ir po to bendruomenės suredaguotus straipsnius, taip pat žmogaus išverstus straipsnius siekdama suteikti prieigą prie visų savo žinių bazės straipsnių daugeliu kalbų. Mašinos išverstuose ir vėliau paredaguotuose straipsniuose gali būti žodyno, sintaksės ir / arba gramatikos klaidų. „Microsoft“ neatsako už jokius netikslumus, klaidas arba žalą, patirtą dėl neteisingo turinio vertimo arba mūsų klientų naudojimosi juo. Daugiau apie CTF žr. http://support.microsoft.com/gp/machine-translation-corrections.

Spustelėkite čia, norėdami pamatyti šio straipsnio versiją anglų kalba: 246133
Santrauka
Po to, kai perkeliate duomenų bazės į naują serverį, vartotojai gali nepavykti prisijungti prie naujo serverio. Vietoj to, jie gauna tokį klaidos pranešimą:
MSG 18456, 16, būsenos 1 lygis
Įeiti nepavyko, vartotojas '%ls'.
Vardų ir slaptažodžių turite perkelti į naują serverį. Šiame straipsnyje aprašoma, kaip galima perkelti vardų ir slaptažodžių į naują.

Kaip perkelti vardų ir slaptažodžių, serverių, kuriuose veikia SQL Server 7.0

SQL Server 7.0 duomenų keitimo tarnybų (DTS) objektų perkėlimo funkcija perduoda prisijungimų ir vartotojų tarp dviejų serverių, bet jis neperduoda autentifikuotas SQL serverio prisijungimams slaptažodžius. Norėdami perkelti vardų ir slaptažodžių iš serverio, kuriame veikia SQL Server 7.0 į kitą serverį, kuriame veikia SQL Server 7.0, atlikite veiksmus, nurodytus skyriuje "Visą sprendimo perdavimo vardų ir slaptažodžių tarp skirtingų versijų SQL Server".

Kaip perkelti vardų ir slaptažodžių iš SQL serverio 7.0 SQL Server 2000 arba serverių, kuriuose veikia SQL Server 2000

Perduoti vardų ir slaptažodžių iš serverio SQL Server 7.0 prie SQL Server 2000, arba du paleisti SQL Server 2000, galite naudoti naują DTS paketo perdavimas prisijungimų užduotį SQL Server 2000. Norėdami tai padaryti, atlikite šiuos veiksmus:
  1. Prisijungti prie SQL Server 2000 paskirties serverio, perkelti į duomenų keitimo tarnybos SQL Server Enterprise Manager expandthe aplanką, dešiniuoju pelės mygtuku spustelėkite Vietos paketus, ir spustelėkite Naują paketą.
  2. Po to, kai DTS paketą designer atsidaro, užduočių meniu spustelėkite Perkelti prisijungimų užduočių . Išsamios informacijos apie šaltinioir paskirtiesprisijungimų skirtukai atitinkamai.

    Svarbu. SQL Server 2000 paskirties serveris negali veikti 64 bitų versijos SQL Server 2000. DTS komponentų SQL Server 2000 64 bitų versijos nėra. Jei ketinate importuoti prisijungimų iš yra instancijos SQL serverio, kuris yra atskirame kompiuteryje, jūsų willmust SQL serverio egzemplioriuje veikti pagal domeno abonementą užduotį.

    Pastaba. DTS būdas bus perduoti slaptažodžius, bet ne pamiškėje ant SID. Jei prisijungimo nėra sukurtas naudojant pradinio SID ir userdatabases taip pat yra perkeliamos į naują serverį, duomenų bazės vartotojams bus beorphaned iš prisijungimo. Norėdami perkelti pradinio SID ir apeiti, orphanedusers, atlikite veiksmus, nurodytus skyriuje "Visą sprendimo perdavimo vardų ir slaptažodžių tarp skirtingų versijų SQL Server".

Kaip perkelti vardų ir slaptažodžių tarp egzempliorius SQL Server 2005

Jei norite gauti daugiau informacijos apie tai, kaip perkelti vardų ir slaptažodžių tarp egzempliorius SQL Server 2005, spustelėkite šį straipsnio numerį ir peržiūrėkite straipsnį Microsoft žinių bazėje:
918992 Kaip perkelti prisijungimą ir slaptažodžius tarp egzempliorius SQL Server 2005

Pilnas sprendimas perduoti vardų ir slaptažodžių tarp skirtingų versijų SQL serverio

Norėdami tai padaryti, naudokite vieną iš toliau nurodytų būdų.
Pastabos
  • Scenarijus, toliau nurodytų būdų sukurti du saugomas procedūras, kurie vadinami sp_hexadecimal saugomą procedūrą ir sp_help_revlogin saugomą procedūrą jūsų pagrindinį duomenų bazėje.
  • SQL serverio sistemos lentelių priklauso scenarijus.Šiose lentelėse struktūra gali keistis versijos SQL serverio. Pasirinkus tiesiai iš sistemos lentelės nenori.
  • Peržiūrėti pastabos svarbi informacija apie veiksmus, kuriuos būdų šio straipsnio pabaigoje.
  • 2 būdas priskiria prisijungimų vaidmenys.

1 būdas

Šis metodas taikomas šiais atvejais:
  • Galite perkelti vardų ir slaptažodžių iš SQL serverio 7.0 į SQL Server 7.0.
  • Galite perkelti vardų ir slaptažodžių iš SQL serverio 7.0 SQL Server 2000.
  • Serverių, kuriuose veikia SQL Server 2000 perkeliate vardų ir slaptažodžių.
Tarp skirtingų versijų SQL serverio perduoti vardų ir slaptažodžių, atlikite šiuos veiksmus:
  1. Šaltinio SQL serverio paleisti šį scenarijų. Kai baigsite, sukurtisp_help_revlogin saugomą procedūrą, pereikite prie 2 veiksmo.
    ----- Begin Script, Create sp_help_revlogin procedure -----USE masterGOIF OBJECT_ID ('sp_hexadecimal') IS NOT NULL  DROP PROCEDURE sp_hexadecimalGOCREATE PROCEDURE sp_hexadecimal    @binvalue varbinary(256),    @hexvalue varchar(256) OUTPUTASDECLARE @charvalue varchar(256)DECLARE @i intDECLARE @length intDECLARE @hexstring char(16)SELECT @charvalue = '0x'SELECT @i = 1SELECT @length = DATALENGTH (@binvalue)SELECT @hexstring = '0123456789ABCDEF' WHILE (@i <= @length) BEGIN  DECLARE @tempint int  DECLARE @firstint int  DECLARE @secondint int  SELECT @tempint = CONVERT(int, SUBSTRING(@binvalue,@i,1))  SELECT @firstint = FLOOR(@tempint/16)  SELECT @secondint = @tempint - (@firstint*16)  SELECT @charvalue = @charvalue +    SUBSTRING(@hexstring, @firstint+1, 1) +    SUBSTRING(@hexstring, @secondint+1, 1)  SELECT @i = @i + 1ENDSELECT @hexvalue = @charvalueGOIF OBJECT_ID ('sp_help_revlogin') IS NOT NULL  DROP PROCEDURE sp_help_revlogin GOCREATE PROCEDURE sp_help_revlogin @login_name sysname = NULL ASDECLARE @name    sysnameDECLARE @xstatus intDECLARE @binpwd  varbinary (256)DECLARE @txtpwd  sysnameDECLARE @tmpstr  varchar (256)DECLARE @SID_varbinary varbinary(85)DECLARE @SID_string varchar(256)IF (@login_name IS NULL)  DECLARE login_curs CURSOR FOR     SELECT sid, name, xstatus, password FROM master..sysxlogins     WHERE srvid IS NULL AND name <> 'sa'ELSE  DECLARE login_curs CURSOR FOR     SELECT sid, name, xstatus, password FROM master..sysxlogins     WHERE srvid IS NULL AND name = @login_nameOPEN login_curs FETCH NEXT FROM login_curs INTO @SID_varbinary, @name, @xstatus, @binpwdIF (@@fetch_status = -1)BEGIN  PRINT 'No login(s) found.'  CLOSE login_curs   DEALLOCATE login_curs   RETURN -1ENDSET @tmpstr = '/* sp_help_revlogin script ' PRINT @tmpstrSET @tmpstr = '** Generated '   + CONVERT (varchar, GETDATE()) + ' on ' + @@SERVERNAME + ' */'PRINT @tmpstrPRINT ''PRINT 'DECLARE @pwd sysname'WHILE (@@fetch_status <> -1)BEGIN  IF (@@fetch_status <> -2)  BEGIN    PRINT ''    SET @tmpstr = '-- Login: ' + @name    PRINT @tmpstr     IF (@xstatus & 4) = 4    BEGIN -- NT authenticated account/group      IF (@xstatus & 1) = 1      BEGIN -- NT login is denied access        SET @tmpstr = 'EXEC master..sp_denylogin ''' + @name + ''''        PRINT @tmpstr       END      ELSE BEGIN -- NT login has access        SET @tmpstr = 'EXEC master..sp_grantlogin ''' + @name + ''''        PRINT @tmpstr       END    END    ELSE BEGIN -- SQL Server authentication      IF (@binpwd IS NOT NULL)      BEGIN -- Non-null password        EXEC sp_hexadecimal @binpwd, @txtpwd OUT        IF (@xstatus & 2048) = 2048          SET @tmpstr = 'SET @pwd = CONVERT (varchar(256), ' + @txtpwd + ')'        ELSE          SET @tmpstr = 'SET @pwd = CONVERT (varbinary(256), ' + @txtpwd + ')'        PRINT @tmpstr	EXEC sp_hexadecimal @SID_varbinary,@SID_string OUT        SET @tmpstr = 'EXEC master..sp_addlogin ''' + @name           + ''', @pwd, @sid = ' + @SID_string + ', @encryptopt = '      END      ELSE BEGIN         -- Null password	EXEC sp_hexadecimal @SID_varbinary,@SID_string OUT        SET @tmpstr = 'EXEC master..sp_addlogin ''' + @name           + ''', NULL, @sid = ' + @SID_string + ', @encryptopt = '      END      IF (@xstatus & 2048) = 2048        -- login upgraded from 6.5        SET @tmpstr = @tmpstr + '''skip_encryption_old'''       ELSE         SET @tmpstr = @tmpstr + '''skip_encryption'''      PRINT @tmpstr     END  END  FETCH NEXT FROM login_curs INTO @SID_varbinary, @name, @xstatus, @binpwd  ENDCLOSE login_curs DEALLOCATE login_curs RETURN 0GO ----- End Script -----
  2. Sukūrę sp_help_revlogin saugomą procedūrą, paleisti sp_help_revlogin procedūra užklausos analizatoriaus šaltinio serveris. Sp_help_revlogin saugomą procedūrą galima SQLServer 2000 ir SQL serverio 7.0. Išvesties sp_help_revlogin saugomi procedūra yra prisijungimo scenarijų, sukurkite prisijungimų su pamiškėje ant SID ir slaptažodį. Įrašykite gautus duomenis, tada įklijuoti ir paleisti jį QueryAnalyzer paskirties SQL serverio. Pvz.:
    EXEC master..sp_help_revlogin

2 Metodas

Šis metodas taikomas šiais atvejais:
  • Galite perkelti vardų ir slaptažodžių iš SQL serverio 7.0 SQL Server 2005.
  • Galite perkelti vardų ir slaptažodžių iš SQL Server 2000 SQL Server 2005.
  • Galite priskirti prisijungimų vaidmenys.
Norėdami perkelti vardų ir slaptažodžių tarp skirtingų versijų SQL serverio ir vaidmenys priskirti prisijungimo vardų, atlikite šiuos veiksmus:
  1. Šaltinio SQL serverio paleisti šį scenarijų.
    USE master GO IF OBJECT_ID ('sp_hexadecimal') IS NOT NULL DROP PROCEDURE sp_hexadecimal GO CREATE PROCEDURE sp_hexadecimal @binvalue varbinary(256), @hexvalue varchar(256) OUTPUT AS DECLARE @charvalue varchar(256) DECLARE @i int DECLARE @length int DECLARE @hexstring char(16) SELECT @charvalue = '0x' SELECT @i = 1 SELECT @length = DATALENGTH (@binvalue) SELECT @hexstring = '0123456789ABCDEF' WHILE (@i <= @length) BEGIN DECLARE @tempint int DECLARE @firstint int DECLARE @secondint int SELECT @tempint = CONVERT(int, SUBSTRING(@binvalue,@i,1)) SELECT @firstint = FLOOR(@tempint/16) SELECT @secondint = @tempint - (@firstint*16) SELECT @charvalue = @charvalue + SUBSTRING(@hexstring, @firstint+1, 1) + SUBSTRING(@hexstring, @secondint+1, 1) SELECT @i = @i + 1 END SELECT @hexvalue = @charvalue GO IF OBJECT_ID ('sp_help_revlogin_2000_to_2005') IS NOT NULL DROP PROCEDURE sp_help_revlogin_2000_to_2005 GO CREATE PROCEDURE sp_help_revlogin_2000_to_2005 @login_name sysname = NULL, @include_db bit = 0, @include_role bit = 0 AS DECLARE @name sysname DECLARE @xstatus int DECLARE @binpwd varbinary (256) DECLARE @dfltdb varchar (256) DECLARE @txtpwd sysname DECLARE @tmpstr varchar (256) DECLARE @SID_varbinary varbinary(85) DECLARE @SID_string varchar(256) IF (@login_name IS NULL) DECLARE login_curs CURSOR STATIC FOR SELECT sid, [name], xstatus, password, isnull(db_name(dbid), 'master') FROM master.dbo.sysxlogins WHERE srvid IS NULL AND [name] <> 'sa' ELSE DECLARE login_curs CURSOR FOR SELECT sid, [name], xstatus, password, isnull(db_name(dbid), 'master') FROM master.dbo.sysxlogins WHERE srvid IS NULL AND [name] = @login_name OPEN login_curs FETCH NEXT FROM login_curs INTO @SID_varbinary, @name, @xstatus, @binpwd, @dfltdb IF (@@fetch_status = -1) BEGIN PRINT 'No login(s) found.' CLOSE login_curs DEALLOCATE login_curs RETURN -1 END SET @tmpstr = '/* sp_help_revlogin script ' PRINT @tmpstr SET @tmpstr = '** Generated ' + CONVERT (varchar, GETDATE()) + ' on ' + @@SERVERNAME + ' */' PRINT @tmpstr PRINT '' PRINT '' PRINT '' PRINT '/***** CREATE LOGINS *****/' WHILE @@fetch_status = 0 BEGIN PRINT '' SET @tmpstr = '-- Login: ' + @name PRINT @tmpstr IF (@xstatus & 4) = 4 BEGIN -- NT authenticated account/group IF (@xstatus & 1) = 1 BEGIN -- NT login is denied access SET @tmpstr = '' --'EXEC master..sp_denylogin ''' + @name + '''' PRINT @tmpstr END ELSE BEGIN -- NT login has access SET @tmpstr = 'IF NOT EXISTS (SELECT * FROM sys.server_principals WHERE [name] = ''' + @name + ''')' PRINT @tmpstr SET @tmpstr = CHAR(9) + 'CREATE LOGIN [' + @name + '] FROM WINDOWS' PRINT @tmpstr END END ELSE BEGIN -- SQL Server authentication EXEC sp_hexadecimal @SID_varbinary, @SID_string OUT IF (@binpwd IS NOT NULL) BEGIN -- Non-null password EXEC sp_hexadecimal @binpwd, @txtpwd OUT SET @tmpstr = 'CREATE LOGIN [' + @name + '] WITH PASSWORD=' + @txtpwd + ' HASHED' END ELSE BEGIN -- Null password SET @tmpstr = 'CREATE LOGIN [' + @name + '] WITH PASSWORD=''''' END SET @tmpstr = @tmpstr + ', CHECK_POLICY=OFF, SID=' + @SID_string PRINT @tmpstr END FETCH NEXT FROM login_curs INTO @SID_varbinary, @name, @xstatus, @binpwd, @dfltdb END IF @include_db = 1 BEGIN PRINT '' PRINT '' PRINT '' PRINT '/***** SET DEFAULT DATABASES *****/' FETCH FIRST FROM login_curs INTO @SID_varbinary, @name, @xstatus, @binpwd, @dfltdb WHILE @@fetch_status = 0 BEGIN PRINT '' SET @tmpstr = '-- Login: ' + @name PRINT @tmpstr SET @tmpstr = 'ALTER LOGIN [' + @name + '] WITH DEFAULT_DATABASE=[' + @dfltdb + ']' PRINT @tmpstr FETCH NEXT FROM login_curs INTO @SID_varbinary, @name, @xstatus, @binpwd, @dfltdb END END IF @include_role = 1 BEGIN PRINT '' PRINT '' PRINT '' PRINT '/***** SET SERVER ROLES *****/' FETCH FIRST FROM login_curs INTO @SID_varbinary, @name, @xstatus, @binpwd, @dfltdb WHILE @@fetch_status = 0 BEGIN PRINT '' SET @tmpstr = '-- Login: ' + @name PRINT @tmpstr IF @xstatus &16 = 16 -- sysadmin BEGIN SET @tmpstr = 'exec master.dbo.sp_addsrvrolemember @loginame=''' + @name + ''', @rolename=''sysadmin''' PRINT @tmpstr END IF @xstatus &32 = 32 -- securityadmin BEGIN SET @tmpstr = 'exec master.dbo.sp_addsrvrolemember @loginame=''' + @name + ''', @rolename=''securityadmin''' PRINT @tmpstr END IF @xstatus &64 = 64 -- serveradmin BEGIN SET @tmpstr = 'exec master.dbo.sp_addsrvrolemember @loginame=''' + @name + ''', @rolename=''serveradmin''' PRINT @tmpstr END IF @xstatus &128 = 128 -- setupadmin BEGIN SET @tmpstr = 'exec master.dbo.sp_addsrvrolemember @loginame=''' + @name + ''', @rolename=''setupadmin''' PRINT @tmpstr END IF @xstatus &256 = 256 --processadmin BEGIN SET @tmpstr = 'exec master.dbo.sp_addsrvrolemember @loginame=''' + @name + ''', @rolename=''processadmin''' PRINT @tmpstr END IF @xstatus &512 = 512 -- diskadmin BEGIN SET @tmpstr = 'exec master.dbo.sp_addsrvrolemember @loginame=''' + @name + ''', @rolename=''diskadmin''' PRINT @tmpstr END IF @xstatus &1024 = 1024 -- dbcreator BEGIN SET @tmpstr = 'exec master.dbo.sp_addsrvrolemember @loginame=''' + @name + ''', @rolename=''dbcreator''' PRINT @tmpstr END IF @xstatus &4096 = 4096 -- bulkadmin BEGIN SET @tmpstr = 'exec master.dbo.sp_addsrvrolemember @loginame=''' + @name + ''', @rolename=''bulkadmin''' PRINT @tmpstr END FETCH NEXT FROM login_curs INTO @SID_varbinary, @name, @xstatus, @binpwd, @dfltdb END END CLOSE login_curs DEALLOCATE login_curs RETURN 0 GOexec sp_help_revlogin_2000_to_2005 @login_name=NULL, @include_db=1, @include_role=1GO
  2. Įrašykite duomenis, tada įklijuokite ir paleisti išėjimo SQL Server Management Studio paskirties SQL Server 2005.
Pastaba. Jei SQL Server šaltinyje yra prisijungti, kuriame nėra nustatyto slaptažodžio, išvestis yra pranešimas, kad panašus į šį.
CREATE LOGIN LoginName WITH PASSWORD = '', CHECK_POLICY = OFF, SID = MySID

Pastabos

  • Atidžiai peržiūrėkite išvesties scenarijų, prieš paleisdami jį thedestination SQL serverio. Jei turite perduoti prisijungimą prie SQLServer kitame domene nei šaltinio SQL serverio egzemplioriuje, redaguoti thescript sukurtas sp_help_revlogin tvarka, ir pakeisti domenąsp_grantlogin ataskaitose domeno vardą. Dėl to, kad integruotos prisijungimų suteikta prieiga į naują domeno neturi pačios SID kaip prisijungimą pradinę domeno, thedatabase vartotojams bus paliko iš šių prisijungimų. Norėdami pašalinti šiuos orphanedusers, ieškokite straipsniuose nurodytos šioje sąrašo su ženkleliais punktas. Jei youtransfer prisijungimo tarp atvejų SQL serverių tame pačiame domene, naudojamas patį SID ir vartotojas nėra gali būti paliko.
  • Perkėlus į prisijungimo vardų, vartotojai gali būti, kad permissionsto access duomenų bazės, taip pat perkelti. Ši problema aprašyta kaip "pavienį vartotojas". Jei bandote prisijungti susipažinti su duomenų bazėje, jis mayfail pranešimą, kad vartotojas jau yra:
    MicrosoftSQL-DMO (ODBC SQLState: 42000) klaidos 15023: vartotojas arba vaidmuo "%s" jau yra dabartinėje duomenų bazėje.
    Nurodymus, kaip susieti prisijungimą prie duomenų bazės vartotojams spręsti pavienį SQL serverio vardų ir integruotos prisijungimo vardų, ieškokite šioje "Microsoft" žinių bazės straipsnį:
    240872 Kaip spręsti teisių problemos, kai perkeliate tarp serverių, kuriuose veikia SQL Server duomenų bazės
    Nurodymų, kaip naudoti sp_change_users_login saugomą procedūrą, po vieną pavienį vartotojams (thiswill tik adresas vartotojams paliko iš prisijungimo vardų SQL standard), žr. followingarticle Microsoft žinių bazėje:
    274188 Neužbaigtas knygų temoje "Trikčių šalinimas Orphaned vartotojams"
  • Jei prisijungimo vardų ir slaptažodžių priklauso moveof duomenų bazės į naują serverį paleisti "SQL Server", žr. šį straipsnį Microsoft žinių bazėje esantį Aprašymas darbo eigos ir stepsinvolved:
    314546 Kaip kompiuteriams, kuriuose veikia SQL Server duomenų bazės perkėlimas
  • Jūs galite padaryti dėl @encryptopt parametras sp_addlogin saugomi sistemos procedūros, kuri leidžia sukurti byusing užšifruotos slaptažodį prisijungti. Jei norite gauti daugiau informacijos apie šią procedūrą, seethe "sp_addlogin (T-SQL)" SQL Server interneto knygų temą.
  • Pagal numatytuosius nustatymus tik nariai sysadminfixed server rolecan pasirinkite sysxlogins lentelę. Jei sistemos administratorius vaidmens narys suteikia ir necessarypermissions, galutinių vartotojų negalite sukurti arba paleisti šiuos saugomas procedūras.
  • Šis metodas ne bando perduoti numatytąjį databaseinformation ypač prisijungimui, nes numatytasis duomenų bazės gali būti alwaysexist paskirties serveryje. Norėdami nustatyti numatytąjį prisijungimo duomenų bazę, galite naudoti sp_defaultdb sistemos saugomą procedūrą leidžiant prisijungimo vardas ir thedefault duomenų bazės argumentai. Jei norite gauti daugiau informacijos apie šią procedūrą, žr. temą "sp_defaultdb" SQL Server interneto knygų.
  • Metu perduodamos prisijungimų SQLServer egzempliorius, jei šaltinio serverio rūšiavimo tvarka utf8 ir sortorder paskirties serverio yra Didžiosios ir mažosios raidės, reikia įvesti allalphabetical simbolių slaptažodžius kaip parašytas viršutinio registro simboliais po transferof prisijungimą prie paskirties serverio. Jei rūšiavimo tvarką, šaltinio serveris iscase planavimu ir rūšiavimo tvarka paskirties serverio iscase nejautri, nėra galėsite prisijungti naudojant prisijungimo transferredusing procedūrą, šiame straipsnyje, išskyrus atvejus, kai pradinio passwordcontains ne abėcėlės simbolių arba jei visi abėcėlės simbolių pradinį slaptažodį parašytas viršutinio registro simboliais. Jei serverių arecase jautrus arba abiejų serverių utf8, jums bus ne experiencethis problema. Tai taip, kaip šalutinis poveikis, SQL serverio handlespasswords. Daugiau informacijos, rasite temoje "Efektas, slaptažodžius ir pakeisti SortOrders" SQL Server 7.0 knygų.
  • Paleidus išvesties sp_help_revlogin scenarijuje paskirties serveryje, jei paskirties serverio jau turi prisijungimo definedwith pavadinimas toks pats kaip vieną prisijungimą scenarijaus išvestis, galite pamatyti į išvesties sp_help_revlogin scenarijų vykdymo ši klaida:
    Serveris: Msg 15025, lygis 16, būsenos 1, procedūra sp_addlogin, Line 56
    Prisijungimo test1, jau yra.
    Be to, jei kitą prisijungimo yra tos pačios vertės SID šiame serveryje kaip tas, kurį bandote įtraukti, receivethe po klaidos pranešimas:
    Serveris: Msg15433, lygis 16, būsenos 1, procedūra sp_addlogin, Line 93
    Suppliedparameter @sid yra naudojamas.
    Todėl jūs turite carefullyreview iš šių komandų išvestį, ištirti sysxlogins lentelės ir adresų šios klaidos atitinkamai.
  • Ypač prisijungimo SID reikšmė naudojama kaip ESpolitikos įgyvendinant SQL serverio duomenų bazės prieigos lygis. Todėl, jei toliau samelogin turi dvi skirtingas SID lygiu duomenų bazė (twodifferent duomenų bazės serveryje), prisijungimo tik turės prieigą prie thatdatabase, kurio SID sutampa su syslogins , kad prisijungti reikšmę. Tokia situacija gali kilti, jei du databasesin klausimą bus konsoliduotos iš dviejų skirtingų serverių. Norėdami išspręsti thisproblem, atitinkamas prisijungimo turės rankiniu būdu pašalinti iš thedatabase, yra SID nesutampa, naudodami sp_dropuser saugomą procedūrą, ir tada dar kartą, naudodami sp_adduser saugomą procedūrą.

Įspėjimas: šis straipsnis išverstas automatiškai

Savybės

Straipsnio ID: 246133 – Paskutinė peržiūra: 08/20/2014 18:32:00 – Peržiūra: 2.0

Microsoft SQL Server 7.0 Standard Edition, Microsoft SQL Server 2000 Personal Edition, Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2000 Workgroup Edition, Microsoft SQL Server 2000 Developer Edition, Microsoft SQL Server 2000 Enterprise Edition, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL 2005 Server Workgroup, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL 2005 Server Enterprise

  • kbsqlsetup kbhowtomaster kbinfo kbmt KB246133 KbMtlt
Atsiliepimai