Kuidas kanda sisselogimise ja paroolide vahel SQL Serveri eksemplari

Artiklite tõlked Artiklite tõlked
Artikli ID: 246133 - Vaadake tooteid, millega see artikkel seostub.
Laienda kõik | Ahenda kõik

Sellel veebilehel

Kokkuvõte

Pärast seda, kui teisaldate andmebaaside uus server, ei saa kasutajad võimalik uude serverisse sisse logida. Selle asemel nad järgmine tõrketeade sõnum:
MSG 18456, tase 16, riik 1
Logi sisse kasutaja '% ls' nurjus.
Tuleb kanda sisselogimiste ja Uus server paroolid. Käesolevas artiklis kirjeldatakse, kuidas kanda sisselogimise ja Uus server paroolid.

Kuidas sisselogimise ja paroolide vahel serverites, kus töötab SQL Server 7.0 üle kanda

SQL Server 7.0 Transformation Services (DTS) andmeobjekti Kanda funktsiooni üleandmise sisselogimise ja kasutajate kahe serveri vahel, kuid see ei ei kanna paroolid SQL serveri autentimisega sisselogimised. Kanda sisselogimise ja paroolide serveris, kus töötab SQL Server 7.0 teise serveris, kus töötab SQL Server 7.0, järgige jaotises "Täielik resolutsiooni ülemineku kirjautumistunnukset ja paroolid eri versioonide SQL serveri vahel".

Kuidas kanda sisselogimise ja paroolide SQL Server 7.0 vahel serverites, kus töötab SQL Server 2000 või SQL Server 2000

Kanda sisselogimise ja paroolide SQL Server 7.0 server Näiteks SQL Server 2000 või SQL Server 2000, kaks korda saate uue DTS paketi üle sisselogimised ülesande SQL Server 2000. Selle tegemiseks järgige neid samme:
  1. SQL Server 2000 sihtserveriga ühendust, liikuda Data Transformation Services SQL serveri ettevõttehalduri, laiendada kaust, paremklõpsake Kohalikud paketidja seejärel klõpsake Uus pakett.
  2. Pärast DTS paketi disainer avaneb, klõpsake menüü ülesanneEdastada sisselogimised ülesanne . Täitke vastavalt vajadusele vahekaardid Allikas, sihtkoht ja sisselogimise teave.

    Oluline SQL Server 2000 sihtserveri ei tööta 64-bitise versiooni SQL Server 2000. 64-Bitise versiooni SQL Server 2000 DTS komponent pole saadaval. Kui impordite sisselogimised eksemplar SQL serveri, mis on eraldi arvuti, näidatakse teie SQL serveri eksemplaris peate kasutama domeeni kasutajakontot ülesanne täita.

    Märkus DTS meetod edastame paroolid, kuid mitte selle Algne SID. Kui sisselogimine ei ole loodud kasutades originaal SID ja kasutaja andmebaasid on ka üle uude serverisse, andmebaasi kasutajad üksildased, login. Edastada originaal SID ja ümbersõit on orvuks kasutajatele, järgige jaotises "Täielik resolutsiooni ülemineku kirjautumistunnukset ja paroolid eri versioonide SQL serveri vahel".

Kuidas kanda sisselogimise ja paroolide vahel eksemplarid, SQL Server 2005

Kirjautumistunnukset ja paroolid vahetada eksemplarid, SQL Server 2005 kohta lisateabe saamiseks klõpsake Microsofti teabebaasi artikli kuvamiseks järgmist artiklinumbrit:
918992Kuidas kanda selle sisselogimise ja paroolide vahel eksemplarid, SQL Server 2005

Täieliku kadumiseni kanda kirjautumistunnukset ja paroolid eri versioonide SQL serveri vahel

Selleks kasutage ühte järgmistest meetoditest.
Märkmed
  • Järgmistest meetoditest skriptid luua kaks salvestatud protseduurid, mis on nimetatud sp_hexadecimal salvestatud protseduuri ning sp_help_revlogin salvestatud protseduuri kapten andmebaasis.
  • Skriptid on sõltuv SQL serveri süsteemitabelites. Nende tabelite struktuur võib muuta SQL Serveri versiooni vahel. Valides otse Süsteemitabeleid ei julge.
  • Vaadata läbi käesoleva artikli lõpus märkused oluline teave meetodi samme.
  • Meetod 2 määrab logimistele rolle.

1. Meetodi

Käesolevat meetodit kohaldatakse järgmistel juhtudel:
  • Kannate sisselogimise ja paroolide SQL Server 7.0 SQL Server 7.0.
  • Kannate sisselogimise ja paroolide SQL Server 7.0 SQL Server 2000.
  • Kannate sisselogimise ja paroolide vahel serverites, kus töötab SQL Server 2000.
Eri versioonides SQL serveri vahel üle kanda kirjautumistunnukset ja paroolid, toimige järgmiselt.
  1. Järgmise skripti käivitada SQL Server allikas. Jätkake 2 kui loomise lõpetanud ning sp_help_revlogin salvestatud protseduuri.
    ----- 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. Pärast seda, kui sp_help_revlogin salvestatud protseduuri loomine kestab sp_help_revlogin korra päringu analüüsija source server. Sp_help_revlogin salvestatud protseduuri saab kasutada SQL Server 7.0 ja SQL Server 2000. Sp_help_revlogin salvestatud protseduuri väljund on Logi sisse skripte, et luua sisselogimise koos selle Algne SID ja parool. Salvestamiseks väljundi, ja seejärel kleepida ja käivitada päringu Analüsaator sihtpunkti SQL Server. Näiteks:
    EXEC master..sp_help_revlogin
    

2. Meetod

Käesolevat meetodit kohaldatakse järgmistel juhtudel:
  • Kannate sisselogimise ja paroolide SQL Server 7.0 SQL Server 2005.
  • Kannate sisselogimise ja paroolide SQL Server 2000 SQL Server 2005.
  • Saate määrata logimistele rolle.
Kirjautumistunnukset ja paroolid eri versioonides SQL serveri vahel üle kanda ja seejärel määrata Sisselogimise rollide, järgige neid samme:
  1. Järgmise skripti käivitada SQL Server allikas.
    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. Salvestamiseks väljundi, pasta ja sõitma sihtkohta SQL Server 2005 väljund, SQL Server Management Studio.
Märkus Kui allikas SQL serveri logimise, mis on tühi parool, väljund sisaldab avaldust, mis sarnaneb järgmisega.
CREATE LOGIN LoginName WITH PASSWORD = '', CHECK_POLICY = OFF, SID = MySID

Märkused

  • Skript väljund hoolikalt üle vaadata, enne kui sa jooksed seda ning sihtkoht SQL Server. Kui teil on vaja kanda logimine SQL-i eksemplar Serveri teises domeenis kui SQL Server allikas astme redigeerida ning skripti sp_help_revlogin korras loodud ja asendada uue domeeni domeeni nimi on sp_grantlogin avaldusi. Kuna ühtse sisselogimise anda juurdepääsu ning uus domeen ei ole sama SID nagu sisselogimiste esialgse domeeni, on andmebaasi kasutajate näidatakse orvuks jäänud alates nende sisselogimised. Lahendada need üksildased kasutajatele, vt järgmine täpploendi üksus viidatud artiklites. Kui te integreeritud sisselogimised eksemplarid SQL serverite sama domeeni vahel üle kanda kasutatakse sama SID ja kasutaja ei ole tõenäoliselt võimalik orvuks.
  • Pärast seda, kui te liikuda sisselogimiste, kasutajad ei pruugi olla õigusi juurdepääsuks andmebaasidele, mis on samuti edasi liikunud. See probleem on kirjeldatud kui ka "orvuks kasutaja". Kui proovite andmebaasi sisselogimise juurdepääsu, võib ei täida, mis näitab, et kasutaja on juba olemas:
    Microsoft SQL-DMO (ODBC SQLState: 42000) viga 15023: kasutajate ja rollide '% s' on juba olemas Praegune andmebaas.
    Juhised leiate et logimised vastendamiseks andmebaasi kasutajate lahendada orvuks SQL serveri sisselogimise ja integreeritud sisselogimised, vaadake Microsoft teabebaasi (Knowledge Base) artikkel:
    240872 Kuidas luba probleemide lahendamine serverites, kus töötab SQL serveri vahel liikudes andmebaasi
    Juhiseid, kuidas kasutada sp_change_users_login salvestatud protseduuri õige orvuks kasutajatele ükshaaval (see näidatakse ainult aadress kasutajad orvuks jäänud alates standard SQL sisselogimised), vaadake järgmist Microsoft teabebaasi (Knowledge Base) artikkel:
    274188 Raamatute online teema "Tõrkeotsing Orphaned kasutajad" ei ole täielik
  • Kui kirjautumistunnukset ja paroolid on osa uue serveri SQL serveri andmebaaside vt järgmine artikkel Microsofti teabebaasist kirjelduse ja töövoo juhised seotud:
    314546 Kuidas liikuda andmebaasi SQL serveriga töötava arvuti vahel
  • Seda saab teha, sest @encryptopt parameeter sp_addlogin süsteemi salvestatud protseduuri, mis võimaldab logida poolt loodud krüpteeritud parooli kasutamine. Lisateavet selle toimingu kohta vt "sp_addlogin (T-SQL)" teema SQL Server Books Online.
  • Vaikimisi ainult liikmete sysadminfixed serveri roll Saate valida tabelist sysxlogins . Kui sysadmin rolli liige annab vajalikud õigused, kasutajad ei saa luua või käivitada need salvestatud protseduurid.
  • Selline lähenemine ei püüa vaikimisi andmebaasi ülekandmine teavet konkreetse sisselogimise sest vaikeandmebaas võib mitte alati sihtkoha serveris olemas. Et määrata vaikimisi andmebaasi sisselogimise, sp_defaultdb süsteemi salvestatud protseduuri saate kasutada juhtides selle kasutajanime ja vaikeandmebaas argumentidena. Lisateabe saamiseks selle protseduuri Vaadake "sp_defaultdb" teemat SQL Server Books Online.
  • Ülekandmisel logimine SQL-i eksemplari vahel Server, kui allikas server sortimisjärjestus on väiketähed ja sorteerida sihtserver on tõstutundlik, tuleb sisestada kõik tähestiku märkide paroole nagu suurtähed pärast edastamist ja logimine sihtkoha server. Kui allikas server sortimisjärjestus suur-ja väiketähti ja sihtserveri sortimisjärjestus on väiketähed, sa ei saa sisse logimine üle Käesolevas artiklis kirjeldatud protseduuri abil, kui algse parooli ei sisalda tähestiku märke või kui kõik tähestiku märkide algse parooli on suurtähed. Kui mõlemad serverid on tõstutundlik või mõlemad serverid on väiketähed, siis ei ole kogemusi See probleem. See on nii, et SQL Server tegeleb kõrvaltoime paroolid. Lisateabe saamiseks vt "mõju kohta paroole ning muutuvad sorteerida Tellimused"teema SQL Server 7.0 raamatuid online.
  • Kui käivitate väljund sp_help_revlogin skripti sihtserveris, kui sihtkoha server on juba määratletud login sama nimega ühe sisselogimise kohta skript väljund, võite näha ka sp_help_revlogin skript väljund täitmisel ilmnes järgmine tõrge:
    Server: Msg 15025, Tasandil 16, liikmesriigi 1 korra sp_addlogin, rida 56
    Logi sisse "test1" on juba olemas.
    Samuti, kui erinev sisselogimisnimi sama SID väärtus selles serveris nagu üks te proovite lisada, saate kuvatakse järgmine tõrketeade:
    Server: Msg 15433, Tase 16, liikmesriigi 1 korra sp_addlogin, rea 93
    Esitatud parameeter @sid on kasutusel.
    Seetõttu tuleb hoolikalt läbi nende käskude väljundit, tutvuda sysxlogins tabeli sisu ja tegeleda nende vigade vastavalt.
  • SID eelkõige sisselogimise kasutatakse alusena SQL Serveri andmebaasi tasandil juurdepääsuõiguse teostamise. Seetõttu, kui sama sisselogimine on kahte eri väärtust SID andmebaasi tasandil (kahes eri andmebaaside et server), login on juurdepääs sellele vaid andmebaas, kelle SID ühtib määratud väärtusega syslogins puhul selle kasutajanimega sisse logida. Selline olukord võib juhtuda kui kaks andmebaasid küsimus on ühendatud kaks erinevatest serveritest. Selle probleemi lahendamiseks probleem, pean kõnealuse kasutajanime käsitsi eemaldada ning andmebaasi, kus SID vastuolu sp_dropuser abil salvestatud protseduuri ja seejärel uuesti lisada sp_adduser salvestatud protseduuri abil.

Atribuudid

Artikli ID: 246133 - Viimati läbi vaadatud: 20. juuni 2013 - Redaktsioon: 1.0
Kehtib järgmise lõigu kohta:
  • 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
Märksõnad: 
kbsqlsetup kbhowtomaster kbinfo kbmt KB246133 KbMtet
Masintõlgitud
NB! Artikkel on tõlgitud Microsofti masintõlketarkvaraga ja seda saab parandada Kogukonnapõhise tõlkeraamistiku (CTF) tehnoloogiaga. Microsoft pakub masintõlgitud, kogukonna järeltöödeldud ja inimtõlgitud artikleid, et anda mitmekeelne juurdepääs kõigile meie teabebaasi artiklitele. Masintõlgitud ja järeltöödeldud artiklites võib olla sõnavara-, süntaksi- ja/või grammatikavigu. Microsoft ei vastuta mingite ebatäpsuste, tõrgete ega kahjude eest, mis on tulenenud sisu valest tõlkest või selle kasutamisest meie klientide poolt. Lisateavet CTF-i kohta leiate aadressilt http://support.microsoft.com/gp/machine-translation-corrections/et.
Artikli ingliskeelse versiooni kuvamiseks klõpsake siin: 246133

Andke tagasisidet

 

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