ÀúÀåµÈ ÇÁ·Î½ÃÀú ³»ºÎ µ¿Àû SQL ¹® Áß PRB: º¸¾È ÄÁÅØ½ºÆ®

±â¼ú ÀÚ·á: 301299 - ÀÌ ¹®¼­°¡ Àû¿ëµÇ´Â Á¦Ç° º¸±â.
¸ðµÎ È®´ë | ¸ðµÎ Ãà¼Ò

Çö»ó

µ¿Àû ½ÇÇà Äõ¸® (sp_executesql ¶Ç´Â EXECUTE) ÀúÀåµÈ ÇÁ·Î½ÃÀú¸¦ ½ÇÇàÇÒ ¶§ ´ÙÀ½ ¿À·ù ¸Þ½ÃÁö°¡ ³ªÅ¸³¯ ¼ö ÀÖ½À´Ï´Ù.
¼­¹ö: ¸Þ½ÃÁö 229, ¼öÁØ 14, »óÅ 5, ÁÙ 1 ' permission ' ±ÇÇÑÀÌ °³Ã¼ ' object ', µ¥ÀÌÅͺ£À̽º ' database ' ¼ÒÀ¯ÀÚ ' owner ' °ÅºÎµÇ¾ú½À´Ï´Ù.

¿øÀÎ

µ¿Àû ½ÇÇà Äõ¸® (sp_executesql ¶Ç´Â EXECUTE) ÁÖ ÀúÀå ÇÁ·Î½ÃÀú¿¡¼­ º°µµÀÇ ÄÁÅØ½ºÆ®¿¡¼­ ½ÇÇàµÇ±â ¶§¹®¿¡ ÀÌ ¹®Á¦°¡ ¹ß»ýÇÕ´Ï´Ù. ±×¸®°í ¹× º¸¾È ÄÁÅØ½ºÆ®°¡ ¾Æ´Ñ ÀúÀå ÇÁ·Î½ÃÀúÀÇ ¼ÒÀ¯ÀÚ´Â ÀúÀåµÈ ÇÁ·Î½ÃÀú¸¦ ½ÇÇàÇÏ´Â »ç¿ëÀÚÀÇ º¸¾È ÄÁÅØ½ºÆ®¿¡¼­ ½ÇÇàµË´Ï´Ù.

Âü°í: ¼ÒÀ¯±Ç üÀÎÀ» °áÁ¤ÇÏ´Â µ¿¾È °í·ÁÇÏ¿©°¡ ÀÌ µ¿ÀÛÀ» ¼öÇàÇØ¾ß ÇÕ´Ï´Ù.

ÇØ°á °úÁ¤

ÀÌ ¹®Á¦¸¦ ÇØ°áÇÏ·Á¸é ´ÙÀ½À» ¼öÇàÇÕ´Ï´Ù.
  • µ¿Àû ½ÇÇà Äõ¸®¿¡¼­ ¾ð±ÞÇÑ °¢ ³»ºÎ °³Ã¼¿¡ ´ëÇÑ ÇÊ¿äÇÑ ±ÇÇÑÀ» Á¤È®ÇÏ°Ô ºÎ¿©ÇØ¾ß ÇÕ´Ï´Ù.
  • ¿ø·¡ Å×À̺íÀ» ¼±ÅÃÇÑ ´ÙÀ½ EXEC Àӽà Å×ÀÌºí¿¡ ´ëÇØ SQL ¹® ¸ðµç µ¥ÀÌÅͰ¡ Æ÷ÇÔµÈ Àӽà Å×À̺íÀ» ¸¸µé·Á¸é INTO Àý »ç¿ëÇÏ¿© SELECT ¹®À» ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. ó¸®ÇÒ Å×À̺íÀ» ÀÛÀº °æ¿ì °¡´ÉÇÑ ¼Ö·ç¼ÇÀÔ´Ï´Ù.

Ãß°¡ Á¤º¸

ÀÌ ¹®Á¦´Â º¸¿© ÁÖ´Â ÄÚµåÀÔ´Ï´Ù:
   create database dynamicSQL
   go
   use dynamicSQL
   create table employee(Name varchar(255), salary money)
   go
   create proc TestError @MySql nvarchar(500) As 
   exec (@mySql)
   go
   set nocount on
   insert employee select 'FunctionFunction', 100000
   insert employee select 'Function', 30000
   set nocount off
   exec sp_addlogin 'FunctionFunction'
   exec sp_adduser 'FunctionFunction'
   exec sp_addlogin 'Function'
   exec sp_adduser 'Function'

   grant execute on TestError to Function

   setuser 'Function'
				
ÀÌ ¹®Á¦´Â ´ÙÀ½ Äڵ忡¼­´Â Àç»ýÇϱâ:
   go
   declare @Sql varchar(500)
   set @Sql = 'select * from employee where Name = ''FunctionFunction'''
   exec TestError @Sql
				
´ÙÀ½ Äڵ带 »ç¿ëÇÏ¿© Å×½ºÆ® dynamicSql µ¥ÀÌÅͺ£À̽º¿Í ÀÌ ÀüºÎ ½Ã³ª¸®¿À¿¡ »ç¿ëµÈ ·Î±×ÀÎÀ» »èÁ¦ÇÒ:
   go
   setuser 
   use master
   drop database dynamicSql
   exec sp_droplogin  'FunctionFunction'
   exec sp_droplogin 'Function'
				
¼ÒÀ¯±Ç üÀο¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº SQL Server ¿Â¶óÀÎ ¼³¸í¼­ÀÇ ¼ÒÀ¯±Ç üÀÎ »ç¿ë À» ÂüÁ¶ÇϽʽÿÀ.

¼Ó¼º

±â¼ú ÀÚ·á: 301299 - ¸¶Áö¸· °ËÅä: 2003³â 10¿ù 16ÀÏ ¸ñ¿äÀÏ - ¼öÁ¤: 3.2
º» ¹®¼­ÀÇ Á¤º¸´Â ´ÙÀ½ÀÇ Á¦Ç°¿¡ Àû¿ëµË´Ï´Ù.
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
Ű¿öµå:?
kbmt kbprb KB301299 KbMtko
±â°è ¹ø¿ªµÈ ¹®¼­
Áß¿ä: º» ¹®¼­´Â Àü¹® ¹ø¿ª°¡°¡ ¹ø¿ªÇÑ °ÍÀÌ ¾Æ´Ï¶ó Microsoft ±â°è ¹ø¿ª ¼ÒÇÁÆ®¿þ¾î·Î ¹ø¿ªÇÑ °ÍÀÔ´Ï´Ù. Microsoft´Â ¹ø¿ª°¡°¡ ¹ø¿ªÇÑ ¹®¼­ ¹× ±â°è ¹ø¿ªµÈ ¹®¼­¸¦ ¸ðµÎ Á¦°øÇϹǷΠMicrosoft ±â¼ú ÀÚ·á¿¡ ÀÖ´Â ¸ðµç ¹®¼­¸¦ Çѱ۷ΠÁ¢ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª ±â°è ¹ø¿ª ¹®¼­°¡ Ç×»ó ¿Ïº®ÇÑ °ÍÀº ¾Æ´Õ´Ï´Ù. µû¶ó¼­ ±â°è ¹ø¿ª ¹®¼­¿¡´Â ¸¶Ä¡ ¿Ü±¹ÀÎÀÌ Çѱ¹¾î·Î ¸»ÇÒ ¶§ ½Ç¼ö¸¦ ÇÏ´Â °Íó·³ ¾îÈÖ, ±¸¹® ¶Ç´Â ¹®¹ý¿¡ ¿À·ù°¡ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù. Microsoft´Â ³»¿ë»óÀÇ ¿À¿ª ¶Ç´Â Microsoft °í°´ÀÌ ÀÌ·¯ÇÑ ¿À¿ªÀ» »ç¿ëÇÔÀ¸·Î½á ¹ß»ýÇÏ´Â ºÎ Á¤È®¼º, ¿À·ù ¶Ç´Â ¼ÕÇØ¿¡ ´ëÇØ Ã¥ÀÓÀ» ÁöÁö ¾Ê½À´Ï´Ù. Microsoft´Â ÀÌ·¯ÇÑ ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇØ ±â°è ¹ø¿ª ¼ÒÇÁÆ®¿þ¾î¸¦ ÀÚÁÖ ¾÷µ¥ÀÌÆ®Çϰí ÀÖ½À´Ï´Ù.

Çǵå¹é º¸³»±â