SQL Server ÀνºÅϽº °£¿¡ ·Î±×ÀÎ ¹× ¾ÏÈ£¸¦ Àü¼ÛÇÏ´Â ¹æ¹ý

±â¼ú ÀÚ·á: 246133 - ÀÌ ¹®¼­°¡ Àû¿ëµÇ´Â Á¦Ç° º¸±â.
ÀÌ ¹®¼­´Â ÀÌÀü¿¡ ´ÙÀ½ ID·Î ÃâÆÇµÇ¾úÀ½: KR246133
¸ðµÎ È®´ë | ¸ðµÎ Ãà¼Ò

ÀÌ ÆäÀÌÁö¿¡¼­

¿ä¾à

»õ ¼­¹ö·Î µ¥ÀÌÅͺ£À̽º¸¦ À̵¿ÇÑ ÈÄ »ç¿ëÀÚ°¡ »õ ¼­¹ö¿¡¼­ ·Î±×ÀÎÇÏÁö ¸øÇÒ ¼ö ÀÖÀ¸¸ç ´ÙÀ½°ú °°Àº ¿À·ù ¸Þ½ÃÁö°¡ ³ªÅ¸³³´Ï´Ù.
¸Þ½ÃÁö 18456, ¼öÁØ 16, »óÅ 1
'%ls' »ç¿ëÀÚ°¡ ·Î±×ÀÎÇÏÁö ¸øÇß½À´Ï´Ù.
»õ ¼­¹ö·Î ·Î±×Àΰú ¾ÏÈ£¸¦ Àü¼ÛÇØ¾ß ÇÕ´Ï´Ù. ÀÌ ¹®¼­¿¡¼­´Â »õ ¼­¹ö·Î ·Î±×Àΰú ¾ÏÈ£¸¦ Àü¼ÛÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÕ´Ï´Ù.

SQL Server 7.0À» ½ÇÇàÇÏ´Â ¼­¹ö °£¿¡ ·Î±×ÀÎ ¹× ¾ÏÈ£¸¦ Àü¼ÛÇÏ´Â ¹æ¹ý

SQL Server 7.0 DTS(µ¥ÀÌÅÍ º¯È¯ ¼­ºñ½º) °³Ã¼ Àü¼Û ±â´ÉÀ» »ç¿ëÇÏ¸é µÎ ¼­¹ö °£¿¡ ·Î±×ÀÎ ¹× »ç¿ëÀÚ¸¦ Àü¼ÛÇÒ ¼ö ÀÖÁö¸¸ SQL ServerÀÇ ÀÎÁõµÈ ·Î±×Àο¡ ´ëÇÑ ¾ÏÈ£´Â Àü¼ÛÇÒ ¼ö ¾ø½À´Ï´Ù. SQL Server 7.0À» ½ÇÇàÇÏ´Â ÇÑ ¼­¹ö¿¡¼­ SQL Server 7.0À» ½ÇÇàÇÏ´Â ´Ù¸¥ ¼­¹ö·Î ·Î±×Àΰú ¾ÏÈ£¸¦ Àü¼ÛÇÏ·Á¸é "¼­·Î ´Ù¸¥ ¹öÀüÀÇ SQL Server °£¿¡ ·Î±×ÀÎ ¹× ¾ÏÈ£¸¦ Àü¼ÛÇÏ´Â ¹æ¹ý" Àý¿¡ ³ª¿Í ÀÖ´Â ´Ü°è¸¦ ¼öÇàÇϽʽÿÀ.

SQL Server 7.0¿¡¼­ SQL Server 2000À¸·Î ¶Ç´Â SQL Server 2000À» ½ÇÇàÇÏ´Â ¼­¹ö °£¿¡ ·Î±×ÀÎ ¹× ¾ÏÈ£¸¦ Àü¼ÛÇÏ´Â ¹æ¹ý

SQL Server 7.0 ¼­¹ö¿¡¼­ SQL Server 2000 ÀνºÅϽº·Î ¶Ç´Â µÎ SQL Server 2000 ÀνºÅϽº °£¿¡ ·Î±×Àΰú ¾ÏÈ£¸¦ Àü¼ÛÇÏ·Á¸é SQL Server 2000¿¡¼­ »õ·Î¿î DTS ÆÐŰÁö ·Î±×ÀÎ Àü¼Û ÀÛ¾÷À» »ç¿ëÇÏ¸é µË´Ï´Ù. ÀÌ·¸°Ô ÇÏ·Á¸é ´ÙÀ½°ú °°ÀÌ ÇϽʽÿÀ.
  1. SQL Server 2000 ´ë»ó ¼­¹ö¿¡ ¿¬°áÇÏ¿© SQL Server ¿£ÅÍÇÁ¶óÀÌÁî °ü¸®ÀÚ¿¡¼­ µ¥ÀÌÅÍ º¯È¯ ¼­ºñ½º·Î À̵¿ÇÏ°í Æú´õ¸¦ È®ÀåÇÑ ´ÙÀ½ ·ÎÄà ÆÐŰÁö¸¦ ¸¶¿ì½º ¿À¸¥ÂÊ ´ÜÃß·Î ´©¸£°í »õ ÆÐŰÁö¸¦ ´©¸¨´Ï´Ù.
  2. DTS ÆÐŰÁö µðÀÚÀ̳ʰ¡ ¿­¸®¸é ÀÛ¾÷ ¸Þ´º¿¡¼­ ·Î±×ÀÎ Àü¼Û ÀÛ¾÷À» ´©¸¨´Ï´Ù. ¿øº», ´ë»ó ¹× ·Î±×ÀÎ ÅÇ¿¡ ´ëÇÑ Á¤º¸¸¦ ÀûÀýÇÏ°Ô ¿Ï¼ºÇÕ´Ï´Ù.

    Áß¿ä SQL Server 2000 ´ë»ó ¼­¹ö¿¡¼­´Â 64ºñÆ® ¹öÀüÀÇ SQL Server 2000À» ½ÇÇàÇÒ ¼ö ¾ø½À´Ï´Ù. 64ºñÆ® ¹öÀüÀÇ SQL Server 2000¿ë DTS ±¸¼º ¿ä¼Ò¸¦ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. ´Ù¸¥ ÄÄÇ»ÅÍ¿¡ ÀÖ´Â SQL Server ÀνºÅϽº¿¡¼­ ·Î±×ÀÎÀ» °¡Á®¿À´Â °æ¿ì ÀÌ ÀÛ¾÷À» ¿Ï·áÇÏ·Á¸é »ç¿ëÀÚ ÄÄÇ»ÅÍ¿¡ ÀÖ´Â SQL Server ÀνºÅϽº°¡ µµ¸ÞÀÎ °èÁ¤¿¡¼­ ½ÇÇàµÇ¾î¾ß ÇÕ´Ï´Ù.

    Âü°í DTS ¹æ¹ýÀ» »ç¿ëÇÏ¸é ¾ÏÈ£¸¦ Àü¼ÛÇÒ ¼ö ÀÖÁö¸¸ ¿øº» SID´Â Àü¼ÛÇÒ ¼ö ¾ø½À´Ï´Ù. ·Î±×ÀÎÀÌ ¿øº» SID¸¦ »ç¿ëÇÏ¿© ¸¸µé¾îÁöÁö ¾ÊÀº °æ¿ì »ç¿ëÀÚ µ¥ÀÌÅͺ£À̽ºµµ »õ ¼­¹ö·Î Àü¼ÛµÇ¸é µ¥ÀÌÅͺ£À̽º »ç¿ëÀÚ°¡ ·Î±×Àο¡¼­ ºÐ¸®µË´Ï´Ù. ¿øº» SID¸¦ Àü¼ÛÇÏ°í ºÐ¸®µÈ »ç¿ëÀÚ¸¦ ¹æÁöÇÏ·Á¸é "¼­·Î ´Ù¸¥ ¹öÀüÀÇ SQL Server °£¿¡ ·Î±×ÀÎ ¹× ¾ÏÈ£¸¦ Àü¼ÛÇÏ´Â ¹æ¹ý" Àý¿¡ ³ª¿Í ÀÖ´Â ´Ü°è¸¦ ¼öÇàÇϽʽÿÀ.

SQL Server 2005 ÀνºÅϽº °£¿¡ ·Î±×ÀÎ ¹× ¾ÏÈ£¸¦ Àü¼ÛÇÏ´Â ¹æ¹ý

SQL Server 2005 ÀνºÅϽº °£¿¡ ·Î±×ÀÎ ¹× ¾ÏÈ£¸¦ Àü¼ÛÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº Microsoft ±â¼ú ÀÚ·áÀÇ ´ÙÀ½ ¹®¼­¸¦ ÂüÁ¶ÇϽʽÿÀ.
918992 SQL Server 2005 ÀνºÅϽº °£¿¡ ·Î±×ÀÎ ¹× ¾ÏÈ£¸¦ Àü¼ÛÇÏ´Â ¹æ¹ý

¼­·Î ´Ù¸¥ ¹öÀüÀÇ SQL Server °£¿¡ ·Î±×ÀÎ ¹× ¾ÏÈ£¸¦ Àü¼ÛÇÏ´Â ¹æ¹ý

ÀÌ·¸°Ô ÇÏ·Á¸é ´ÙÀ½ ¹æ¹ý Áß Çϳª¸¦ »ç¿ëÇϽʽÿÀ.
Âü°í
  • ´ÙÀ½ ¹æ¹ýÀÇ ½ºÅ©¸³Æ®¿¡¼­´Â sp_hexadecimal ¹× sp_help_revloginÀ̶ó´Â µÎ °¡Áö ÀúÀå ÇÁ·Î½ÃÀú¸¦ master µ¥ÀÌÅͺ£À̽º¿¡ ¸¸µì´Ï´Ù.
  • ½ºÅ©¸³Æ®´Â SQL Server ½Ã½ºÅÛ Å×ÀÌºí¿¡ Á¾¼ÓµÇ¾î ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ Å×À̺íÀÇ ±¸Á¶´Â SQL Server ¹öÀü¿¡ µû¶ó º¯°æµÉ ¼ö ÀÖÀ¸¹Ç·Î ½Ã½ºÅÛ Å×ÀÌºí¿¡¼­ Á÷Á¢ ¼±ÅÃÇÏÁö ¾Ê´Â °ÍÀÌ ÁÁ½À´Ï´Ù.
  • ¹æ¹ýÀÇ ´Ü°è¿¡ ´ëÇÑ Áß¿äÇÑ Á¤º¸´Â ÀÌ ¹®¼­ÀÇ ³¡¿¡ ³ª¿À´Â ºñ°í¸¦ ÂüÁ¶ÇϽʽÿÀ.
  • ¹æ¹ý 2¿¡¼­´Â ¿ªÇÒ¿¡ ·Î±×ÀÎÀ» ÇÒ´çÇÕ´Ï´Ù.

¹æ¹ý 1

ÀÌ ¹æ¹ýÀº ´ÙÀ½°ú °°Àº °æ¿ì¿¡ Àû¿ëµË´Ï´Ù.
  • SQL Server 7.0¿¡¼­ SQL Server 7.0À¸·Î ·Î±×ÀÎ ¹× ¾ÏÈ£¸¦ Àü¼ÛÇÏ´Â °æ¿ì
  • SQL Server 7.0¿¡¼­ SQL Server 2000À¸·Î ·Î±×ÀÎ ¹× ¾ÏÈ£¸¦ Àü¼ÛÇÏ´Â °æ¿ì
  • SQL Server 2000À» ½ÇÇàÇÏ´Â ¼­¹ö °£¿¡ ·Î±×ÀÎ ¹× ¾ÏÈ£¸¦ Àü¼ÛÇÏ´Â °æ¿ì
¼­·Î ´Ù¸¥ ¹öÀüÀÇ SQL Server °£¿¡ ·Î±×ÀÎ ¹× ¾ÏÈ£¸¦ Àü¼ÛÇÏ·Á¸é ´ÙÀ½°ú °°ÀÌ ÇϽʽÿÀ.
  1. ¿øº» SQL Server¿¡¼­ ´ÙÀ½ ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÕ´Ï´Ù. sp_help_revlogin ÀúÀå ÇÁ·Î½ÃÀú¸¦ ¸¸µç ÈÄ¿¡´Â 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. sp_help_revlogin ÀúÀå ÇÁ·Î½ÃÀú¸¦ ¸¸µç ´ÙÀ½ ¿øº» ¼­¹öÀÇ Äõ¸® ºÐ¼®±â¿¡¼­ sp_help_revlogin ÇÁ·Î½ÃÀú¸¦ ½ÇÇàÇÕ´Ï´Ù. sp_help_revlogin ÀúÀå ÇÁ·Î½ÃÀú´Â SQL Server 7.0°ú SQL Server 2000¿¡¼­ ¸ðµÎ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. sp_help_revlogin ÀúÀå ÇÁ·Î½ÃÀúÀÇ Ãâ·ÂÀº ¿øº» SID¿Í ¾ÏÈ£¸¦ »ç¿ëÇÏ¿© ·Î±×ÀÎÀ» ¸¸µå´Â ·Î±×ÀÎ ½ºÅ©¸³Æ®ÀÔ´Ï´Ù. Ãâ·ÂÀ» ÀúÀåÇÑ ´ÙÀ½ ´ë»ó SQL ServerÀÇ Äõ¸® ºÐ¼®±â¿¡ ºÙ¿© ³Ö°í ½ÇÇàÇϽʽÿÀ. ¿¹¸¦ µé¸é ´ÙÀ½°ú °°½À´Ï´Ù.
    EXEC master..sp_help_revlogin
    

¹æ¹ý 2

ÀÌ ¹æ¹ýÀº ´ÙÀ½°ú °°Àº °æ¿ì¿¡ Àû¿ëµË´Ï´Ù.
  • SQL Server 7.0¿¡¼­ SQL Server 2005·Î ·Î±×ÀÎ ¹× ¾ÏÈ£¸¦ Àü¼ÛÇÏ´Â °æ¿ì
  • SQL Server 2000¿¡¼­ SQL Server 2005·Î ·Î±×ÀÎ ¹× ¾ÏÈ£¸¦ Àü¼ÛÇÏ´Â °æ¿ì
  • ¿ªÇÒ¿¡ ·Î±×ÀÎÀ» ÇÒ´çÇÏ´Â °æ¿ì
¼­·Î ´Ù¸¥ ¹öÀüÀÇ SQL Server °£¿¡ ·Î±×ÀÎ ¹× ¾ÏÈ£¸¦ Àü¼ÛÇÑ ´ÙÀ½ ¿ªÇÒ¿¡ ·Î±×ÀÎÀ» ÇÒ´çÇÏ·Á¸é ´ÙÀ½°ú °°ÀÌ ÇϽʽÿÀ.
  1. ¿øº» 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. Ãâ·ÂÀ» ÀúÀåÇÑ ´ÙÀ½ ´ë»ó SQL Server 2005ÀÇ SQL Server Management Studio¿¡ ºÙ¿© ³Ö°í ½ÇÇàÇÕ´Ï´Ù.
Âü°í ¿øº» SQL Server¿¡ ¾ÏÈ£°¡ ºñ¾î ÀÖ´Â ·Î±×ÀÎÀÌ Æ÷ÇԵǾî ÀÖÀ¸¸é Ãâ·Â¿¡ ´ÙÀ½°ú À¯»çÇÑ ¹®ÀÌ µé¾î ÀÖ½À´Ï´Ù.
CREATE LOGIN LoginName WITH PASSWORD = '', CHECK_POLICY = OFF, SID = MySID

ºñ°í

  • ´ë»ó SQL Server¿¡¼­ ½ÇÇàÇϱâ Àü¿¡ Ãâ·Â ½ºÅ©¸³Æ®¸¦ ½ÅÁßÇÏ°Ô °ËÅäÇϽʽÿÀ. ¿øº» SQL Server ÀνºÅϽº¿Í ´Ù¸¥ µµ¸ÞÀο¡ ÀÖ´Â SQL Server ÀνºÅϽº·Î ·Î±×ÀÎÀ» Àü¼ÛÇØ¾ß Çϸé sp_help_revlogin ÇÁ·Î½ÃÀú¿¡¼­ »ý¼ºÇÑ ½ºÅ©¸³Æ®¸¦ ÆíÁýÇÏ¿© sp_grantlogin ¹®¿¡¼­ µµ¸ÞÀÎ À̸§À» »õ µµ¸ÞÀÎÀ¸·Î ¹Ù²Ù½Ê½Ã¿À. »õ µµ¸ÞÀο¡ ÀÖ´Â ¾×¼¼½º ±ÇÇÑÀÌ ºÎ¿©µÈ ÅëÇÕ ·Î±×ÀÎÀÇ SID°¡ ¿øº» µµ¸ÞÀο¡ ÀÖ´Â ·Î±×ÀÎÀÇ SID¿Í °°Áö ¾Ê±â ¶§¹®¿¡ µ¥ÀÌÅͺ£À̽º »ç¿ëÀÚ°¡ ÀÌ·¯ÇÑ ·Î±×Àο¡¼­ ºÐ¸®µË´Ï´Ù. ÀÌ·¯ÇÑ ºÐ¸®µÈ »ç¿ëÀÚ ¹®Á¦¸¦ ÇØ°áÇÏ·Á¸é ´ÙÀ½ ´Ü¶ô¿¡ ³ª¿À´Â ¹®¼­¸¦ ÂüÁ¶ÇϽʽÿÀ. °°Àº µµ¸ÞÀο¡ ÀÖ´Â SQL Server ÀνºÅϽº °£¿¡ ÅëÇÕ ·Î±×ÀÎÀ» Àü¼ÛÇÏ¸é °°Àº SID°¡ »ç¿ëµÇ¹Ç·Î »ç¿ëÀÚ°¡ ºÐ¸®µÉ °¡´É¼ºÀÌ °ÅÀÇ ¾ø½À´Ï´Ù.
  • ·Î±×ÀÎÀ» À̵¿ÇÑ ÈÄ »ç¿ëÀÚ´Â À̵¿µÈ µ¥ÀÌÅͺ£À̽º¿¡ ¾×¼¼½ºÇÒ ±ÇÇÑÀÌ ¾øÀ» ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¹®Á¦¸¦ "ºÐ¸®µÈ »ç¿ëÀÚ"¶ó°í ÇÕ´Ï´Ù. µ¥ÀÌÅͺ£À̽º¿¡ ·Î±×ÀÎ ¾×¼¼½º ±ÇÇÑÀ» ºÎ¿©ÇÏ·Á°í ÇÏ¸é »ç¿ëÀÚ°¡ ÀÌ¹Ì ÀÖ´Ù°í ³ªÅ¸³ª¸é¼­ ½ÇÆÐÇÒ ¼ö ÀÖ½À´Ï´Ù.
    Microsoft SQL-DMO (ODBC SQLState: 42000) ¿À·ù 15023: ÇöÀç µ¥ÀÌÅͺ£À̽º¿¡ '%s' »ç¿ëÀÚ ¶Ç´Â ¿ªÇÒÀÌ ÀÌ¹Ì ÀÖ½À´Ï´Ù.
    µ¥ÀÌÅͺ£À̽º »ç¿ëÀÚ¿¡ ·Î±×ÀÎÀ» ¸ÅÇÎÇÏ¿© ºÐ¸®µÈ SQL Server ·Î±×Àΰú ÅëÇÕ ·Î±×ÀÎ ¹®Á¦¸¦ ÇØ°áÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº Microsoft ±â¼ú ÀÚ·áÀÇ ´ÙÀ½ ¹®¼­¸¦ ÂüÁ¶ÇϽʽÿÀ.
    240872 SQL Server¸¦ ½ÇÇàÇÏ´Â ¼­¹ö »çÀÌ¿¡¼­ µ¥ÀÌÅͺ£À̽º¸¦ À̵¿ÇÒ ¶§ »ç¿ë ±ÇÇÑ ¹®Á¦¸¦ ÇØ°áÇÏ´Â ¹æ¹ý
    sp_change_users_login ÀúÀå ÇÁ·Î½ÃÀú¸¦ »ç¿ëÇÏ¿© ÇÑ ¹ø¿¡ Çϳª¾¿ ºÐ¸®µÈ »ç¿ëÀÚ ¹®Á¦¸¦ ÇØ°á(Ç¥ÁØ SQL ·Î±×Àο¡¼­ ºÐ¸®µÈ »ç¿ëÀÚ ¹®Á¦¸¸ ÇØ°á)ÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº Microsoft ±â¼ú ÀÚ·áÀÇ ´ÙÀ½ ¹®¼­¸¦ ÂüÁ¶ÇϽʽÿÀ.
    274188 PRB: ¿Â¶óÀÎ ¼³¸í¼­ÀÇ "ºÐ¸®µÈ »ç¿ëÀÚ ¹®Á¦ ÇØ°á" Ç׸ñÀÌ ºÒ¿ÏÀüÇÏ´Ù
  • ·Î±×Àΰú ¾ÏÈ£ÀÇ Àü¼ÛÀÌ SQL Server¸¦ ½ÇÇàÇÏ´Â »õ ¼­¹ö·Î µ¥ÀÌÅͺ£À̽º¸¦ À̵¿ÇÏ´Â ÀÛ¾÷¿¡ Æ÷ÇԵǴ °æ¿ì °ü·ÃµÈ ¿öÅ©ÇÃ·Î¿Í ´Ü°è¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº Microsoft ±â¼ú ÀÚ·áÀÇ ´ÙÀ½ ¹®¼­¸¦ ÂüÁ¶ÇϽʽÿÀ.
    314546 SQL Server¸¦ ½ÇÇàÇÏ´Â ÄÄÇ»ÅÍ °£¿¡ µ¥ÀÌÅͺ£À̽º¸¦ À̵¿ÇÏ´Â ¹æ¹ý
  • ¾ÏȣȭµÈ ¾ÏÈ£¸¦ »ç¿ëÇÏ¿© ·Î±×ÀÎÀ» ¸¸µé ¼ö ÀÖµµ·Ï ÇÏ´Â sp_addlogin ½Ã½ºÅÛ ÀúÀå ÇÁ·Î½ÃÀúÀÇ @encryptopt ¸Å°³ º¯¼ö ¶§¹®¿¡ ·Î±×Àΰú ¾ÏÈ£¸¦ Àü¼ÛÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ÇÁ·Î½ÃÀú¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº SQL Server ¿Â¶óÀÎ ¼³¸í¼­¿¡¼­ "sp_addlogin (T-SQL)" Ç׸ñÀ» ÂüÁ¶ÇϽʽÿÀ.
  • ±âº»ÀûÀ¸·Î sysadminfixed ¼­¹ö ¿ªÇÒÀÇ ±¸¼º¿ø¸¸ sysxlogins Å×ÀÌºí¿¡¼­ ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù. sysadmin ¿ªÇÒÀÇ ±¸¼º¿øÀÌ ÇÊ¿äÇÑ ±ÇÇÑÀ» ºÎ¿©ÇÏÁö ¾ÊÀ¸¸é ÃÖÁ¾ »ç¿ëÀÚ°¡ ÀÌ·¯ÇÑ ÀúÀå ÇÁ·Î½ÃÀú¸¦ ¸¸µé°Å³ª ½ÇÇàÇÒ ¼ö ¾ø½À´Ï´Ù.
  • ÀÌ ¹æ¹ý¿¡¼­´Â ±âº» µ¥ÀÌÅͺ£À̽º°¡ ´ë»ó ¼­¹ö¿¡ ¾øÀ» ¼öµµ Àֱ⠶§¹®¿¡ ƯÁ¤ ·Î±×Àο¡ ´ëÇÑ ±âº» µ¥ÀÌÅͺ£À̽º Á¤º¸¸¦ Àü¼ÛÇÏ·Á°í ÇÏÁö ¾Ê½À´Ï´Ù. ·Î±×Àο¡ ´ëÇÑ ±âº» µ¥ÀÌÅͺ£À̽º¸¦ Á¤ÀÇÇÏ·Á¸é ·Î±×ÀÎ À̸§°ú ±âº» µ¥ÀÌÅͺ£À̽º¸¦ Àμö·Î Àü´ÞÇÏ¿© sp_defaultdb ½Ã½ºÅÛ ÀúÀå ÇÁ·Î½ÃÀú¸¦ »ç¿ëÇÏ¸é µË´Ï´Ù. ÀÌ ÇÁ·Î½ÃÀúÀÇ »ç¿ë ¹æ¹ý¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº SQL Server ¿Â¶óÀÎ ¼³¸í¼­¿¡¼­ "sp_defaultdb" Ç׸ñÀ» ÂüÁ¶ÇϽʽÿÀ.
  • SQL Server ÀνºÅϽº °£¿¡ ·Î±×ÀÎÀ» Àü¼ÛÇÏ´Â µ¿¾È ¿øº» ¼­¹öÀÇ Á¤·Ä ¼ø¼­°¡ ´ë/¼Ò¹®ÀÚ¸¦ ±¸ºÐÇÏÁö ¾Ê°í ´ë»ó ¼­¹öÀÇ Á¤·Ä ¼ø¼­°¡ ´ë/¼Ò¹®ÀÚ¸¦ ±¸ºÐÇÏ¸é ´ë»ó ¼­¹ö·Î ·Î±×ÀÎÀ» Àü¼ÛÇÑ ÈÄ ¾ÏÈ£ÀÇ ¾ËÆÄºª ¹®ÀÚ¸¦ ¸ðµÎ ´ë¹®ÀÚ·Î ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù. ¿øº» ¼­¹öÀÇ Á¤·Ä ¼ø¼­°¡ ´ë/¼Ò¹®ÀÚ¸¦ ±¸ºÐÇÏ°í ´ë»ó ¼­¹öÀÇ Á¤·Ä ¼ø¼­°¡ ´ë/¼Ò¹®ÀÚ¸¦ ±¸ºÐÇÏÁö ¾ÊÀ¸¸é ¿øº» ¾ÏÈ£¿¡ ¾ËÆÄºª ¹®ÀÚ°¡ Æ÷ÇԵǾî ÀÖÁö ¾ÊÀº °æ¿ì³ª ¿øº» ¾ÏÈ£ÀÇ ¸ðµç ¾ËÆÄºª ¹®ÀÚ°¡ ´ë¹®ÀÚÀÎ °æ¿ì°¡ ¾Æ´Ï¸é ÀÌ ¹®¼­¿¡ ³ª¿Í ÀÖ´Â ÀýÂ÷¿¡ µû¶ó Àü¼ÛµÈ ·Î±×ÀÎÀ» »ç¿ëÇÏ¿© ·Î±×ÀÎÇÒ ¼ö ¾ø½À´Ï´Ù. µÎ ¼­¹ö°¡ ¸ðµÎ ´ë/¼Ò¹®ÀÚ¸¦ ±¸ºÐÇϰųª ¸ðµÎ ±¸ºÐÇÏÁö ¾ÊÀ¸¸é ÀÌ·¯ÇÑ ¹®Á¦°¡ ¹ß»ýÇÏÁö ¾Ê½À´Ï´Ù. À̰ÍÀº SQL Server¿¡¼­ ¾ÏÈ£¸¦ ó¸®ÇÏ´Â ¹æ½Ä¿¡ µû¸¥ ºÎÀÛ¿ëÀÔ´Ï´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº SQL Server 7.0 ¿Â¶óÀÎ ¼³¸í¼­¿¡¼­ "Effect on Passwords of Changing Sort Orders(Á¤·Ä ¼ø¼­ º¯°æÀÌ ¾ÏÈ£¿¡ ÁÖ´Â ¿µÇâ)" Ç׸ñÀ» ÂüÁ¶ÇϽʽÿÀ.
  • ´ë»ó ¼­¹ö¿¡¼­ sp_help_revlogin ½ºÅ©¸³Æ®ÀÇ Ãâ·ÂÀ» ½ÇÇàÇÒ ¶§ ½ºÅ©¸³Æ® Ãâ·Â¿¡ ÀÖ´Â ·Î±×ÀÎ Áß Çϳª¿Í À̸§ÀÌ °°Àº ·Î±×ÀÎÀÌ ¼­¹ö¿¡ ÀÌ¹Ì Á¤ÀǵǾî ÀÖÀ¸¸é sp_help_revlogin ½ºÅ©¸³Æ®ÀÇ Ãâ·ÂÀ» ½ÇÇàÇÒ ¶§ ´ÙÀ½°ú °°Àº ¿À·ù°¡ ³ªÅ¸³¯ ¼ö ÀÖ½À´Ï´Ù.
    ¼­¹ö: ¸Þ½ÃÁö 15025, ¼öÁØ 16, »óÅ 1, ÇÁ·Î½ÃÀú sp_addlogin, ÁÙ 56
    'test1' ·Î±×ÀÎÀÌ ÀÌ¹Ì ÀÖ½À´Ï´Ù.
    ¸¶Âù°¡Áö·Î, Ãß°¡ÇÏ·Á´Â ·Î±×Àΰú SID °ªÀÌ µ¿ÀÏÇÑ ´Ù¸¥ ·Î±×ÀÎÀÌ ÇØ´ç ¼­¹ö¿¡ ÀÖÀ¸¸é ´ÙÀ½°ú °°Àº ¿À·ù ¸Þ½ÃÁö°¡ ³ªÅ¸³³´Ï´Ù.
    ¼­¹ö: ¸Þ½ÃÁö 15433, ¼öÁØ 16, »óÅ 1, ÇÁ·Î½ÃÀú sp_addlogin, ÁÙ 93
    Á¦°øÇÑ ¸Å°³ º¯¼ö @sid°¡ »ç¿ë ÁßÀÔ´Ï´Ù.
    µû¶ó¼­ ÀÌ·¯ÇÑ ¸í·ÉÀÇ Ãâ·ÂÀ» ½ÅÁßÇÏ°Ô °ËÅäÇϰí sysxlogins Å×À̺íÀÇ ³»¿ëÀ» Á¶»çÇÏ¿© ÀÌ·¯ÇÑ ¿À·ù¸¦ ÀûÀýÇÏ°Ô ÇØ°áÇØ¾ß ÇÕ´Ï´Ù.
  • ƯÁ¤ ·Î±×ÀÎÀÇ SID °ªÀº SQL Server¿¡¼­ µ¥ÀÌÅͺ£À̽º ¼öÁØ ¾×¼¼½º¸¦ ±¸ÇöÇϱâ À§ÇÑ ±âº» ¿ä¼Ò·Î »ç¿ëµË´Ï´Ù. µû¶ó¼­ µ¿ÀÏÇÑ ·Î±×Àο¡ µ¥ÀÌÅͺ£À̽º ¼öÁØ(ÇØ´ç ¼­¹ö¿¡ ÀÖ´Â ¼­·Î ´Ù¸¥ µÎ µ¥ÀÌÅͺ£À̽º)¿¡¼­ ¼­·Î ´Ù¸¥ SID °ªÀÌ µÎ °³ ÀÖÀ¸¸é ÀÌ ·Î±×ÀÎÀº syslogins¿¡ ÀÖ´Â ÇØ´ç ·Î±×ÀÎÀÇ SID °ª°ú ÀÏÄ¡ÇÏ´Â SID°¡ ÀÖ´Â µ¥ÀÌÅͺ£À̽º¿¡¸¸ ¾×¼¼½ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ »óȲÀº µÎ µ¥ÀÌÅͺ£À̽º°¡ ¼­·Î ´Ù¸¥ µÎ ¼­¹ö¿¡¼­ ÅëÇÕµÈ °æ¿ì ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¹®Á¦¸¦ ÇØ°áÇÏ·Á¸é sp_dropuser ÀúÀå ÇÁ·Î½ÃÀú¸¦ »ç¿ëÇÏ¿© SID°¡ ÀÏÄ¡ÇÏÁö ¾Ê´Â µ¥ÀÌÅͺ£À̽º¿¡¼­ ·Î±×ÀÎÀ» ¼öµ¿À¸·Î Á¦°ÅÇÑ ´ÙÀ½ sp_adduser ÀúÀå ÇÁ·Î½ÃÀú¸¦ »ç¿ëÇÏ¿© ´Ù½Ã Ãß°¡ÇØ¾ß ÇÕ´Ï´Ù.




Microsoft Á¦Ç° °ü·Ã ±â¼ú Àü¹®°¡µé°ú ¿Â¶óÀÎÀ¸·Î Á¤º¸¸¦ ±³È¯ÇϽ÷Á¸é Microsoft ´º½º ±×·ì¿¡ Âü¿©ÇϽñ⠹ٶø´Ï´Ù.

¼Ó¼º

±â¼ú ÀÚ·á: 246133 - ¸¶Áö¸· °ËÅä: 2011³â 5¿ù 17ÀÏ È­¿äÀÏ - ¼öÁ¤: 9.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 Server 2005 Workgroup Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
Ű¿öµå:?
kbsqlmanagementtools kbhowtomaster kbinfo KB246133

Çǵå¹é º¸³»±â