Kaip perkelti vard? ir slapta?od?i? tarp SQL serverio egzempliorius

Straipsni? vertimai Straipsni? vertimai
Straipsnio ID: 246133 - Per?i?r?ti ?iame straipsnyje minimus produktus.
I?pl?sti visus | Sutraukti visus

?iame puslapyje

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 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') IS NOT NULL
      DROP PROCEDURE sp_help_revlogin 
    GO
    CREATE PROCEDURE sp_help_revlogin @login_name sysname = NULL AS
    DECLARE @name    sysname
    DECLARE @xstatus int
    DECLARE @binpwd  varbinary (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 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_name
    OPEN login_curs 
    FETCH NEXT FROM login_curs INTO @SID_varbinary, @name, @xstatus, @binpwd
    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 '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
      END
    CLOSE login_curs 
    DEALLOCATE login_curs 
    RETURN 0
    GO
     ----- 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 
    GO
    
    exec sp_help_revlogin_2000_to_2005 @login_name=NULL, @include_db=1, @include_role=1
    GO
  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?.

Savyb?s

Straipsnio ID: 246133 - Paskutin? per?i?ra: 2014 m. rugpj??io 20 d. - Per?i?ra: 2.0
Taikoma:
  • 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
Rakta?od?iai: 
kbsqlsetup kbhowtomaster kbinfo kbmt KB246133 KbMtlt
Atliktas automatinis vertimas
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

Pateikti atsiliepim?

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com