Kuidas üle kanda kasutajanimesid ja paroole SQL serveri eksemplaride vahel

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 andmebaaside teisaldada uude serverisse kasutajad ei pruugi uude serverisse sisse logida. Selle asemel kuvatakse järgmine tõrketeade:
MSG 18456, tase 16 olek 1
Kasutaja '%ls' sisselogimine nurjus.
Sisselogimise ja paroolide peab ülekandmine uude serverisse. Käesolevas artiklis kirjeldatakse, kuidas edastate sisselogimise ja paroolide uude serverisse.

Kuidas teisaldada sisselogimise ja paroolide vahel serverites, kus töötab SQL Server 7.0

SQL Server 7.0 Andmeteisendusteenuste (DTS) objekti ülekande funktsioon viib sisselogimise ja kasutajate kahe serveri vahel, aga see üle kanda autenditud SQL serveri sisselogimise paroole. Sisselogimise ja paroolide ülekandmine serverisse, kus töötab SQL Server 7.0 teise serverisse, kus töötab SQL Server 7.0, järgige jaotises "Täielik lahendus transfer sisselogimise ja paroolide SQL serveri eri versioonide vahel".

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

Sisselogimise ja paroolide ülekandmine SQL Server 7.0 serveri eksemplari vahel kaks käitatavat SQL Server 2000 või SQL Server 2000 abil saate uue DTS pakett Transfer sisselogimise ülesande SQL Server 2000. Selleks toimige järgmiselt.
  1. SQL Server 2000 sihtkoha serveriga ühendust luua, Data Transformation Services ja SQL Server Enterprise Manager, expandthe kausta teisaldada, paremklõpsake Kohalikku paketidja klõpsake Uue paketi.
  2. Pärast DTS alla kujundaja avaneb, klõpsake menüüTransfer sisselogimise ülesanne . Täitke vastavalt vajadusele vahekaardid Allikas, sihtkoht ja sisselogimise teave.

    NB! SQL Server 2000 sihtserveri ei saa rakendust SQL Server 2000 64-bitine versioon. 64-bitise versiooni SQL Server 2000 DTS komponent pole saadaval. Kui impordite logimine on instanceof SQL serveri, mis pole teistes arvutites, töötama oma SQL serveri willmust eksemplari ülesande domeeni kasutajakontot.

    Märkus DTS meetod edastame paroolid, kuid theoriginal SID. Kui sisselogimine ei looda, kasutades algse SID ja userdatabases on ka üle uude serverisse, on andmebaasi kasutajate beorphaned: login. Algne SID üle kanda ja selle orphanedusers mööduda, järgige jaotises "Täielik lahendus transfer sisselogimise ja paroolide SQL serveri eri versioonide vahel".

SQL Server 2005 eksemplari vahel sisselogimise ja paroolide edastamine

Sisselogimise ja paroolide vahetada aknad SQL Server 2005 kohta lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:
918992 Edastamine on sisselogimise ja paroolide vahel aknad SQL Server 2005

Täielik lahendus ülekandmiseks sisselogimise ja paroolide SQL serveri eri versioonide vahel

Selleks kasutage ühte järgmistest meetoditest.
Märkused
  • Skriptide järgmisi meetodeid luua kaks salvestatud protseduurid, mida nimetatakse sp_hexadecimal salvestatud protseduuri ja sp_help_revlogin salvestatud protseduuri põhi andmebaasis.
  • Skriptid sõltuvad SQL Server süsteemi tabelid.Nendes tabelites struktuuri võib muuta SQL Serveri versiooni vahel. Valides otse süsteemi tabelid takistada.
  • Vaadake märkused oluline teave meetodite juhiseid käesoleva artikli lõpus.
  • 2. meetodi määrab Sisselogimise rollide.

1. meetod

See meetod kehtib järgmistel juhtudel:
  • Te liigutate sisselogimise ja paroolide SQL Server 7.0 SQL Server 7.0.
  • Te liigutate sisselogimise ja paroolide SQL Server 7.0 SQL Server 2000.
  • Saate edastada sisselogimise ja paroolide serverites, kus töötab SQL Server 2000 vahel.
SQL serveri eri versioonide vahel üle kanda sisselogimise ja paroolide, toimige järgmiselt.
  1. Käivitage järgmine skript allikas SQL Server. Kui olete lõpetanud,sp_help_revlogin salvestatud protseduuri loomine, jätkake juhisega 2.
    ----- 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. Kui olete loonud sp_help_revlogin salvestatud protseduuri, käivitage sp_help_revlogin protseduuri Query Analyzer source server. Sp_help_revlogin salvestatud protseduuri saab kasutada SQL Server 7.0 ja SQLServer 2000. Sp_help_revlogin salvestatud protseduuri väljund on sisselogimise skripte, et luua koos theoriginal SID sisselogimise ja parooli. Salvestage väljund, kleepige ja käivitage see QueryAnalyzer sihtkoha SQL Server. Näiteks:
    EXEC master..sp_help_revlogin
    

2. meetod

See meetod kehtib järgmistel juhtudel:
  • Te liigutate sisselogimise ja paroolide SQL Server 7.0 SQL Server 2005.
  • Te liigutate sisselogimise ja paroolide SQL Server 2000 SQL Server 2005.
  • Saate määrata Sisselogimise rollide.
Sisselogimise ja paroolide SQL serveri eri versioonide vahel üle kanda ja seejärel määrake Sisselogimise rollide, toimige järgmiselt.
  1. Käivitage järgmine skript allikas SQL Server.
    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. Salvestage väljund, ja seejärel kleepige ning käivitada väljund SQL Server Management Studio sihtkoha SQL Server 2005.
Märkus Kui allikas SQL serveri logi sisse, et tühja parooliga, väljund sisaldab väide, mis sarnaneb järgmisega.
CREATE LOGIN LoginName WITH PASSWORD = '', CHECK_POLICY = OFF, SID = MySID

Märkused

  • Vaadake väljund skripti hoolikalt enne, kui käivitate SQL serveri thedestination. Kui teil on üle kanda sisselogimise SQLServer domeenil kui allikas astme SQL Serveri eksemplari, redigeerida thescript loodud sp_help_revlogin protseduuri ja asendada domeeninime uue domeenisp_grantlogin kaasatud. Kuna integreeritud sisselogimise anda juurdepääs uus domeen ei ole sama SID nagu seda sisselogimised algse domeeni, on need sisselogimised, orvuks thedatabase kasutajad. Need orphanedusers lahendamiseks vaadake bullet punkt viidatud artiklites. Kui youtransfer integreeritud logimine SQL serverite samas domeenis eksemplari vahel, kasutatakse sama SID ja kasutaja ei saa orvuks.
  • Pärast selle sisselogimise teisaldamiseks kasutajatel võib olla ka teisaldatud permissionsto Accessi andmebaasi. See probleem on kirjeldatud kui "orvuks kasutaja". Kui proovite andmebaasi sisselogimise juurdepääsu seda mayfail, mis ütleb, et kasutaja juba olemas:
    MicrosoftSQL DMO (ODBC SQLState: 42000) tõrge 15023: kasutaja või rolli %s on juba olemas andmebaasis.
    Juhised leiate selle sisselogimise vastendamiseks andmebaasi kasutajate lahendamiseks orvuks SQL serveri sisselogimise ja integreeritud sisselogimised, lugege Microsofti teabebaasi (Knowledge Base) järgmist artiklit:
    240872 Kuidas vahel serverites, kus töötab SQL Serveri andmebaasi teisaldamise õigus seotud probleemide lahendamiseks
    Juhised selle kohta, kasutades sp_change_users_login salvestatud prooviks orvuks kasutajatele ükshaaval (thiswill ainult aadressi orvuks standard SQL sisselogimise kaudu), ei näe kasutajad followingarticle Microsofti teabebaasi (Knowledge Base):
    274188 Võrguraamatutest teemat "Tõrkeotsing Orphaned kasutajad" on ebatäielik
  • Kui üleandmine sisselogimise ja paroolide moveof andmebaaside uue serveris, kus töötab SQL serveri osa, lugege järgmist artiklit klõpsake Microsofti teabebaasi kirjeldus töövoo ja stepsinvolved:
    314546 Kuidas arvutit, kus töötab SQL serveri andmebaaside teisaldamine
  • Seda saab teha sp_addlogin süsteemi salvestatud protseduuri, mis võimaldab luua byusing krüptitud parooli login parameetrit @encryptopt tõttu. Lisateabe saamiseks selle toimingu kohta seethe SQL serveri võrguraamatutest teemat "sp_addlogin (T-SQL)".
  • Vaikimisi ainult liikmete sysadminfixed server rolecan valimiseks tabelist sysxlogins . Kui süsteemiadministraator rolli liige annab ning necessarypermissions, ei saa lõppkasutajad saavad luua või käivitada salvestatud protseduuri.
  • See lähenemine ei ürita vaikimisi databaseinformation konkreetse sisselogimise üle kanda, kuna vaikimisi andmebaasi ei alwaysexist sihtserveris. Vaikimisi andmebaasi sisselogimise määratlemiseks kasutage sp_defaultdb süsteemi salvestatud protseduuri juhtides selle logi nime ja söödal andmebaasi kui argumendid. Selle protseduuri kasutamise kohta lisateabe saamiseks vaadake SQL Server Books online teemat "sp_defaultdb".
  • Ajal üle ühe sisselogimise SQLServer juhtudel, kui source server sortimise järjestus on väiketähed ja sortorder sihtserveri on tõstutundlik, peate sisestama allalphabetical märke ja väiketähed suurtähed nagu oleks territooriumi üleandmise sisselogimise järel sihtserveri. Kui source server iscase-tundlik sortimine ja iscase tundlik sihtserveri järjestuses sortimine, siis te ei saa logida sisse logimine transferredusing käesolevas artiklis kirjeldatud protseduuri, kui algne passwordcontains pole kirjamärki, või kui kõik kirjamärki Algne parool on suurtähed. Kui serverite arecase tundliku või mõlemad serverid on väiketähed, siis ei experiencethis probleemi. See on side mõju, nii et SQL serveri handlespasswords. Lisateavet teemast "Mõju kohta paroolid, muutuvad SortOrders" SQL Server 7.0 Books online.
  • Kui te käivitate väljund sp_help_revlogin skripti sihtserveris, kui sihtkoha server on juba login definedwith sama nime kandva üks selle sisselogimise skripti väljundi, võidakse kuvada tõrketeade thefollowing täitmisel skripti sp_help_revlogin väljund:
    Server: Msg 15025, tase 16 riigi 1 protseduur sp_addlogin Line 56
    Logi sisse test1 on juba olemas.
    Samuti, kui teistsugune sisselogimise olemas SID sama väärtusega selle serveri õige proovite lisada, receivethe järgmine tõrketeade:
    Server: Msg15433, tase 16 riigi 1 protseduur sp_addlogin Line 93
    Suppliedparameter @sid on kasutuses.
    Seetõttu peate carefullyreview nende käskude väljundit, uurige sysxlogins tabeli ja aadress sisu nende tõrgete vastavalt.
  • SID väärtus konkreetse sisselogimise kasutatakse SQL Serveri andmebaasi juurdepääsutase rakendamine basisfor. Seetõttu, kui selle samelogin on kaks erinevat väärtust SID tasemel andmebaasi (twodifferent andmebaase, et server), login ainult on juurdepääs thatdatabase, kelle SID vastab syslogins sisselogimise jaoks väärtus. Selline olukord võib põhjustada kaks databasesin küsimus on ühendatud kaks serveritest. Thisproblem lahendamiseks oleks kõnealuse login thedatabase, mis on SID mittevastavus sp_dropuser salvestatud protseduuri abil ja seejärel uuesti lisada sp_adduser salvestatud protseduuri abil käsitsi eemaldada.

Atribuudid

Artikli ID: 246133 - Viimati läbi vaadatud: 20. august 2014 - Redaktsioon: 2.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