[Áöµð³ÝÄÚ¸®¾Æ]SQL ¼¹ö 2005´Â 5³â ¸¸¿¡ ³ª¿Â Á¦Ç°ÀÎ ¸¸Å ¿£Áø, °ü¸® Åø, º¸¾È¿¡ ¸¹Àº º¯È°¡ ÀÖ´Ù. À̹ø ±Û¿¡¼´Â SQL ¼¹ö 2005 ¿£ÁøÀÇ »õ·Î¿î º¯È, ±×¸®°í ´ëÆø ¹Ù²î°í °³¼±µÈ °ü¸® Åø¿¡ ´ëÇÑ ¼Ò°³¿Í Çâ»óµÈ º¸¾È ±â´É¿¡ ´ëÇØ ¾Ë¾Æº¼ °ÍÀÌ´Ù.
¿¬Àç °¡À̵å¿î¿µÃ¼Á¦ : À©µµ¿ì 2000, À©µµ¿ì 2003, À©µµ¿ì XP
°³¹ßµµ±¸ : MS SQL ¼¹ö 2005 º£Å¸ 2, ºñÁÖ¾ó ½ºÆ©µð¿À 2005 º£Å¸ 1
±âÃÊÁö½Ä : MS SQL ¼¹ö 2000, C#
ÀÀ¿ëºÐ¾ß : MS SQL ¼¹ö 2005 °ü¸®¿Í °³¹ß
¾Õ¼ µÎ ¹øÀÇ ¿¬Àç µ¿¾È °³¹ßÀÚ °üÁ¡¿¡¼ÀÇ SQL ¼¹ö 2005ÀÇ ¸ð½ÀÀ» »ìÆìº¸¾Ò´Ù. À̹ø ±ÛºÎÅÍ´Â °ü¸®ÀÚÀÇ °üÁ¡¿¡¼ ¹Ù²ï SQL ¼¹ö 2005ÀÇ »õ·Î¿î ¸ð½ÀÀ» ¼Ò°³ÇÒ °ÍÀÌ´Ù.
¿ø·¡´Â ÀÌ ³»¿ëÀ» ù ȸ¿¡ ¿¬ÀçÇÏ·Á°í ÇÏ¿´À¸³ª Áö·çÇÒ °Í °°¾Æ ÀÏ´Ü ´çÀå ´«¿¡ º¸ÀÌ´Â º¯ÈÀÎ °³¹ßÀÚ ºÎ¹®À» ¸ÕÀú ´Ù·ð´Ù. ¿©±â¿¡¼´Â SQL ¼¹ö 2005ÀÇ ½Ã½ºÅÛ¿¡ ´ëÇÑ Àü¹ÝÀûÀÎ ºÎºÐºÎÅÍ °ü¸® Åø¿¡ ´ëÇÑ ¼Ò°³ÇÏ°í º¸¾È °ü·ÃµÈ º¯È±îÁö ¾Ë¾Æº¼ °ÍÀÌ´Ù.
4GB ¸Þ¸ð¸®ÀÇ ÇѰ踦 ³Ñ´Â 64ºñÆ® ÄÄÇ»ÆÃ Áö¿ø
ÇöÀç ´ëºÎºÐ ¾²À̰í ÀÖ´Â 32ºñÆ® ÇÁ·Î¼¼¼´Â ±âº»ÀûÀ¸·Î ¸Þ¸ð¸®¸¦ ÃÖ´ë 4G(232)±îÁö Áö¿øÇÑ´Ù. ±×·±µ¥ DB ¼¹ö¿¡¼´Â ÇÁ·Î¼¼¼ÀÇ ¼Óµµº¸´Ùµµ ´õ Áß¿äÇÑ °ÍÀÌ ¹Ù·Î ¸Þ¸ð¸® ¿ë·®ÀÌ´Ù. ±×·¡¼ SQL ¼¹ö¿¡¼´Â AWE(Address Windowing Extensions)¸¦ ÀÌ¿ëÇÏ¿© ÃÖ´ë 32G±îÁö Áö¿øÇϰí ÀÖ´Ù.
AWE´Â °¡»óÀÇ ¸Þ¸ð¸® °ø°£À» ¸¶·ÃÇÏ¿© ½ÇÁ¦ ¹°¸®Àû ¸Þ¸ð¸®¿Í ¸ÊÇÎÇÏ´Â ¹æ½ÄÀ¸·Î 4G ÀÌ»óÀÇ ¸Þ¸ð¸®¿¡ Á¢±ÙÇÑ´Ù. ÇÏÁö¸¸ ÀÌ´Â °¡»ó ¸Þ¸ð¸®¿Í ¹°¸®Àû ¸Þ¸ð¸® »çÀÌ¿¡ º¯È¯ÀÌ ÇÊ¿äÇϹǷΠ¿À¹öÇìµå¸¦ À¯¹ßÇϱ⠶§¹®¿¡ Á÷Á¢ Á¢±ÙÇÏ´Â °Íº¸´Ù´Â ´À¸®´Ù.
64ºñÆ® ÇÁ·Î¼¼¼¸¦ »ç¿ëÇÏ°Ô µÇ¸é ÀÌ·± Á¦¾àÀº ¾ø¾îÁø´Ù. ÇöÀç SQL ¼¹ö 2005´Â ÀÎÅÚ ¾ÆÀÌÅ´Ͼö/Á¦¿Â(EMT64), AMD ¿ÉÅ×·Ð/¾Ö½½·Ð64¿Í °°Àº 64ºñÆ® ÇÁ·Î¼¼¼¸¦ Áö¿øÇϱ⠶§¹®¿¡ À̵éÀ» ÀÌ¿ëÇϸé ÇöÀç »óÅ¿¡¼´Â 512GB±îÁö ¸Þ¸ð¸® È®ÀåÀÌ °¡´ÉÇÏ´Ù. µû¶ó¼ CPU¸¦ 64ºñÆ® ÇÁ·Î¼¼¼·Î ¹Ù²Ù±â¸¸ ÇØµµ ¼º´É °³¼± È¿°ú¸¦ º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
 |
| <±×¸² 1> 32ºñÆ®¿Í 64ºñÆ® ¸Þ¸ð¸® ¾îµå·¹½ÌÀÇ Â÷ÀÌ |
ÃÖ±Ù¿¡ 2001OUTLET¿¡¼ SQL ¼¹ö 2000À» 32ºñÆ®¿¡¼ 64ºñÆ®·Î ¸¶À̱׷¹À̼ÇÇÑ µÚ ¼º´É Çâ»ó¿¡ ´ëÇÑ »ç·Ê ¹ßÇ¥¸¦ ÇÑ ÀûÀÌ ÀÖ´Ù. °ü½É ÀÖ´Â µ¶ÀÚ´Â Âü°í »çÀÌÆ®(
Âü°íÀÚ·á)¿¡¼ È®ÀÎÇØ º¼ ¼ö ÀÖ´Ù. ÀÌ ¹ßÇ¥ ³»¿ë Áß ¼º´É Çâ»ó¿¡ ´ëÇØ ÇÑ °¡Áö¸¸ ¼Ò°³Çϸé, 110GBÀÇ Å×À̺íÀÇ À妽º¸¦ Àç»ý¼ºÇÏ´Â µ¥ ÀÖ¾î ±âÁ¸¿¡´Â 10½Ã°£ ÀÌ»ó °É¸®´ø ÀÛ¾÷ÀÌ 64ºñÆ® ȯ°æ¿¡¼´Â 1½Ã°£ 45ºÐ ¸¸¿¡ ³¡³µ´Ù°í ÇÑ´Ù. ÀÌ·¯ÇÑ ¼º´É Çâ»ó¿¡´Â CPU¸¦ ±³Ã¼ÇÑ °Í À̿ܿ¡µµ ¸Þ¸ð¸®, ½ºÅ丮Áö¸¦ ¾÷±×·¹À̵åÇÑ È¿°úµµ Æ÷ÇÔµÈ °ÍÀ̹ǷΠ´Ü¼ø ºñ±³¿¡´Â ¹«¸®°¡ ÀÖ´Ù.
È¿À²ÀûÀÎ ¸ÖƼÇÁ·Î¼¼¼ Ȱ¿ëÀ» À§ÇÑ NUMA Áö¿ø
ÀϹÝÀûÀÎ ¸ÖƼÇÁ·Î¼¼¼ ȯ°æÀÎ SMP(Symmetric MultiProcessing) ȯ°æ¿¡¼´Â CPU¿Í ¸Þ¸ð¸®°¡ ¹ö½º¶ó´Â Åë·Î¸¦ ÅëÇØ Á¢±ÙÇϹǷΠÇÁ·Î¼¼¼¸¦ ¸¹ÀÌ ´Þ¼ö·Ï ¹ö½º Åë·Î´Â ¹ÙºüÁö°Ô µÈ´Ù. ±×·¯¹Ç·Î ÇÁ·Î¼¼½º¸¦ ¸¹ÀÌ ÀåÂøÇÑ´Ù°í ÇØ¼ ¹Ýµå½Ã ÇÁ·Î¼¼½º¸¦ Á¤ÂøÇÑ °³¼ö¸¸ÅÀÇ ¼º´É °³¼± È¿°ú¸¦ º¼ ¼ö ¾ø´Ù.
±×·¯³ª NUMA(Non-Uniform Memory Access) ¹æ½ÄÀ» »ç¿ëÇϸé ÀÌ·± ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ´Ù. NUMA´Â À©µµ¿ì ¼¹ö 2003¿¡¼ Áö¿øÇϴµ¥, ÀÌ´Â ¸Þ¸ð¸®¿Í CPU¸¦ ÇϳªÀÇ ³ëµå·Î ¹¾î¼ Àü¿ëÀÇ ·ÎÄà ¸Þ¸ð¸® °ø°£À» È®º¸ÇÏ´Â ¹æ½ÄÀ» ¸»ÇÑ´Ù. µû¶ó¼ °¢°¢ÀÇ ³ëµåµéÀº °¢°¢ÀÇ ·ÎÄà ¸Þ¸ð¸®¸¦ °¡Áö°í ÀÖ¾î¼ ·ÎÄà ¸Þ¸ð¸® ³»¿¡¼´Â ºü¸¥ ¼Óµµ·Î ¸Þ¸ð¸® Á¢±ÙÀ» ÇÒ ¼ö ÀÖ´Ù.
ÇÏÁö¸¸ ÀÌ ¹æ½ÄÀÇ ´ÜÁ¡À̶ó¸é ¼·Î ´Ù¸¥ ³ëµå »çÀÌ¿¡ ¸Þ¸ð¸® Á¢±ÙÀ» ÇÏ´Â °ÍÀº ¿ÜºÎ ¹ö½º¸¦ ÅëÇØ Á¢±ÙÇØ¾ß ÇϹǷΠ´À¸± ¼ö¹Û¿¡ ¾ø´Ù. ±×·¯¹Ç·Î ¼º´ÉÀ» Çâ»ó½Ã۱â À§ÇÑ ÇÙ½ÉÀº ¹Ù·Î ÀÌ ³ëµåµé »çÀÌÀÇ ¸Þ¸ð¸® Á¢±ÙÀ» ÁÙÀÌ´Â °ÍÀÌ´Ù. ±×·¯±â À§Çؼ´Â ¿î¿µÃ¼Á¦¿Í ÀÀ¿ë ÇÁ·Î±×·¥°£ÀÇ ±ä¹ÐÇÑ ÇùÁ¶°¡ ÀÖ¾î¾ß¸¸ ÇÑ´Ù. SQL ¼¹ö 2005´Â ÀÌ·¯ÇÑ NUMA¸¦ Àû±Ø Áö¿øÇÏ¿© Å©·Î½º ³ëµå ¹®Á¦¸¦ ¿ÏÈÇϰí ÀÖ´Ù.
 |
| <±×¸² 2> SMP(Symmetric MultiProcessing) |
 |
| <±×¸² 3> NUMA(Non-Uniform Memory Access) |
Çϳª·Î µÎ °³ÀÇ CPU ¼º´ÉÀ» ±¸ÇöÇÏ´Â ÇÏÀÌÆÛ¾²·¹µù Áö¿ø
ÇÏÀÌÆÛ¾²·¹µù(hyper-threading)À» Áö¿øÇÏ´Â ÀÎÅÚ CPUÀÇ °æ¿ì ÇϳªÀÇ CPU·Î ¸¶Ä¡ µÎ °³ÀÇ CPU°¡ µ¿ÀÛÇÏ´Â °Íó·³ Èä³» ³¾ ¼ö ÀÖ´Ù. À̸¦ ÀÌ¿ëÇÏ¸é ¸ÖÆ¼¾²·¹µå ¾ÖÇø®ÄÉÀ̼ÇÀ̳ª ¸ÖƼ ¾ÖÇø®ÄÉÀ̼ÇÀ» ¼öÇàÇÒ ¶§ ¼º´ÉÀÌ °³¼±µÈ´Ù°í ¾Ë·ÁÁ® ÀÖ´Ù. À̸¦ ÀÌ¿ëÇÏ¸é ±ÝÀüÀûÀÎ ¸é¿¡¼ Àý¾àÀ» ÇÒ ¼ö ÀÖ´Ù. SQL ¼¹ö ¶óÀ̼±½º 1-CPU¸¦ ±¸¸ÅÇϰí ÇÏÀÌÆÛ¾²·¹µùÀ» ÀÌ¿ëÇÏ¿© ¸¶Ä¡ µÎ °³ÀÇ CPU¸¦ µ¹¸®´Â °Í°ú °°Àº Èä³»¸¦ ³¾ ¼ö ÀÖ´Ù. ÇÏÁö¸¸ ¸®¾ó 2-CPUº¸´Ù´Â ¼º´ÉÀÌ ¶³¾îÁö¹Ç·Î ±×¸® ±ÇÀåÇÒ ¸¸ÇÑ ¹æ¹ýÀº ¾Æ´Ï´Ù.
Çâ»óµÈ ¸ÖƼÇà ÀνºÅϽº Áö¿ø
±âÁ¸¿¡´Â ÃÖ´ë 16°³±îÁö ÀνºÅϽº¸¦ Áö¿øÇßÁö¸¸, SQL ¼¹ö 2005¿¡¼´Â ÃÖ´ë 50°³±îÁö ÀνºÅϽº¸¦ Áö¿øÇÑ´Ù.
¸ØÃßÁö ¾Ê´Â ¿î¿µÀ» À§ÇÑ µ¥ÀÌÅͺ£À̽º ¹Ì·¯¸µ
µ¥ÀÌÅͺ£À̽ºÀÇ ¾ÈÁ¤ÀûÀÎ ¿î¿µÀ» À§ÇØ ±âÁ¸¿¡´Â ´ëºÎºÐ Ŭ·¯½ºÅ͸µÀ» ±¸ÇöÇØ »ç¿ëÇß´Ù. ÇÏÁö¸¸ Ŭ·¯½ºÅ͸µÀº µ¥ÀÌÅͺ£À̽º ÀÚü ³»¿¡¼ Áö¿øµÇ´Â ±â´ÉÀÌ ¾Æ´Ñ ¿ÜºÎ¿¡¼ Áö¿øµÇ´Â ±â´ÉÀÌ´Ù. ±×·¡¼ SQL ¼¹ö 2005¿¡¼´Â ÀÚü ³»¿¡¼ ÀÌ·¯ÇÑ ±â´ÉÀ» Áö¿øÇϱâ À§ÇØ ¹Ì·¯¸µÀ̶ó´Â ±â´ÉÀ» Ãß°¡Çß´Ù. ¹Ì·¯¸µÀº Ŭ·¯½ºÅ͸µ°ú ´Ù¸£°Ô º°µµÀÇ Çϵå¿þ¾î°¡ ÇÊ¿ä ¾øÀ¸¸ç, º°µµÀÇ °øÀ¯ ½ºÅ丮Áöµµ ÇÊ¿ä ¾ø´Ù. ¶ÇÇÑ ±æÀÌ Á¦Çѵµ ¾ø¾î¼ ¸Ö¸® ¶³¾îÁø °÷¿¡¼µµ ¼³Ä¡°¡ °¡´ÉÇÏ´Ù.
ÀÌ´Â primary ¼¹ö¿Í mirroring ¼¹ö µÎ ´ë¸¦ ±¸ÃàÇÏ¿© ¼·Î Æ®·£Àè¼Ç ·Î±× Á¤º¸¸¦ ÁÖ°í¹Þ±â ¶§¹®¿¡ °¡´ÉÇÑ °ÍÀÌ´Ù. ÀÌ °¡¿îµ¥ watch ¼¹ö°¡ Ãß°¡µÇ¾î primary ¼¹öÀÇ µ¿ÀÛÀ» °¨½ÃÇÏ´Ù°¡ primary ¼¹ö°¡ ´Ù¿îµÇ¸é Áï½Ã mirroring ¼¹ö·Î ±³Ã¼½ÃÄÑÁÖ´Â ¹æ½ÄÀ¸·Î µ¿ÀÛÇÑ´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº ´ÙÀ½ È£¿¡¼ ´Ù·ê ¿¹Á¤ÀÌ´Ù.
°£ÆíÇÑ ÀÌ·Â °ü¸®¸¦ À§ÇÑ µ¥ÀÌÅͺ£À̽º ½º³À¼¦
µ¥ÀÌÅͺ£À̽º¸¦ ¿î¿µÇÏ´Ù º¸¸é ƯÁ¤ ½ÃÁ¡ÀÇ µ¥ÀÌÅ͸¦ ÀúÀåÇÏ°í ½ÍÀ» ¶§°¡ ÀÖ´Ù. ¹é¾÷À» ÀÌ¿ëÇÏ¸é µÇÁö¸¸ ½Ã°£ÀÌ ¿À·¡ °É¸®°í ´ë¿ë·®ÀÇ ÀúÀå °ø°£ÀÌ ÇÊ¿äÇÏ´Ù´Â ´ÜÁ¡ÀÌ ÀÖ´Ù. SQL ¼¹ö 2005¿¡¼´Â ÀÌ·± ºÒÆíÀ» ÇØ¼ÒÇϱâ À§ÇÏ¿© µ¥ÀÌÅͺ£À̽º ½º³À¼¦ ±â´ÉÀ» Áö¿øÇÑ´Ù. À̴ ƯÁ¤ ½ÃÁ¡ÀÇ µ¥ÀÌÅ͸¦ ½±°Ô º¸°üÇÏ°í º¹±¸ÇÏ´Â ±â´ÉÀ» Á¦°øÇÑ´Ù. ÀÌ ¶§ ½ÇÁ¦ Àüü µ¥ÀÌÅ͸¦ ¸ðµÎ º¸°üÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó ¸ÞŸ µ¥ÀÌÅ͸¸ º¸°üÇϱ⠶§¹®¿¡ ºÎ´ãÀÌ ¾ø´Ù. ÀÌ ¿ª½Ã ÀÚ¼¼ÇÑ ³»¿ëÀº ´ÙÀ½ È£¿¡¼ ´Ù·ê ¿¹Á¤ÀÌ´Ù.
IIS ¾øÀÌ HTTP Áö¿ø
SQL ¼¹ö 2005¿¡¼´Â À¥ ¼ºñ½º¿Í °°Àº HTTP ¿äûÀ» IIS ¾øÀ̵µ ½º½º·Î ÇÒ ¼ö ÀÖ´Â ±â´ÉÀ» Á¦°øÇÑ´Ù. µû¶ó¼ À¥°ú ¿¬µ¿µÈ ÇÁ·Î±×·¡¹ÖÀ» ÇÒ ¶§ ´õ¿í ½±°Ô °³¹ßÇÒ ¼ö ÀÖ°Ô µÇ¾ú´Ù. ÀÌ Á¡Àº ºñÁÖ¾ó ½ºÆ©µð¿À 2005¿¡¼µµ Áö¿øÇÏ´Â ±â´ÉÀ̱⵵ ÇÏ´Ù. ºñÁÖ¾ó ½ºÆ©µð¿À 2005¿¡¼µµ ASP.NET ÇÁ·Î±×·¥À» °³¹ßÇÏ´Â µ¥ ÀÖ¾î ´õ ÀÌ»ó IIS°¡ ¾ø¾îµµ °¡´ÉÇϱ⠶§¹®ÀÌ´Ù.
±Ù¹«½Ã°£¿¡µµ °¡´ÉÇÑ À妽º Àç»ý¼º
±âÁ¸ SQL ¼¹ö 2000ÀÇ °æ¿ì À妽º¸¦ Àç»ý¼ºÇÏ°Ô µÇ¸é Àç»ý¼ºÇÏ´Â µ¿¾È¿¡´Â µ¥ÀÌÅ͸¦ °»½ÅÇÏÁö ¸øÇß´Ù. ±×·¡¼ À妽º¸¦ ´Ù½Ã ¸¸µå´Â °æ¿ì ´ëºÎºÐ ¾ß±ÙÀ» ÇÏ´Â °ÍÀÌ º¸ÅëÀ̾ú´Ù. ÇÏÁö¸¸ ÀÌÁ¦´Â ±×·¯Áö ¾Ê¾Æµµ µÈ´Ù. ½Ç½Ã°£À¸·Î À妽º¸¦ Àç»ý¼ºÇϸ鼵µ µ¥ÀÌÅÍ °»½Å ÀÛ¾÷ÀÌ °¡´ÉÇÏ´Ù. ¾î¶»°Ô ÀÌ ±â´ÉÀÌ °¡´ÉÇÒ±î? ±×°ÍÀº ¹Ù·Î µÎ °³ÀÇ À妽º¸¦ SQL ¼¹ö°¡ À¯ÁöÇϱ⠶§¹®ÀÌ´Ù.
Áï, Çϳª´Â ±âÁ¸ÀÇ À妽º¸¦ ±×´ë·Î À¯ÁöÇÏ¸é¼ ¿Â¶óÀÎ ÀÛ¾÷ÀÌ °¡´ÉÇÏ°Ô Çϰí, ´Ù¸¥ ÇϳªÀÇ À妽º´Â Àç»ý¼º ÀÛ¾÷À» ÇÏ´Â µ¥ ÀÌ¿ëÇÑ´Ù. ±×·¯´Ù°¡ À妽º Àç»ý¼º ÀÛ¾÷ÀÌ ³¡³ª¸é ±âÁ¸ À妽º´Â »èÁ¦Çϰí Àç»ý¼ºµÈ À妽º¸¦ ºÙÀÌ´Â ¹æ½ÄÀÌ´Ù. ±×·±µ¥ ÀÌ ¹æ¹ý¿¡´Â µÎ °³ÀÇ À妽º¸¦ À¯ÁöÇÏ´Â µ¥ µû¸¥ ¿À¹öÇìµå°¡ ÀÖ´Ù. ±×·¯¹Ç·Î »ç¿ëÀÚ´Â ¿Â¶óÀÎ/¿ÀÇÁ¶óÀÎÀ» ¼±ÅÃÇØ¼ Àε¦½Ì ÀÛ¾÷À» ÇÒ ¼ö ÀÖ´Ù.
¶ÇÇÑ ±âÁ¸¿¡ Ŭ·¯½ºÅ͵å À妽º¸¦ Àç»ý¼ºÇÏ´Â °æ¿ì, ³ÍŬ·¯½ºÅ͵å À妽º±îÁö °°ÀÌ Àç»ý¼ºµÇ´Â ¹®Á¦Á¡ÀÌ ÀÖ¾ú´Ù. ÀÌ´Â ³ÍŬ·¯½ºÅ͵å À妽º°¡ Ŭ·¯½ºÅ͵å À妽º¸¦ ÂüÁ¶Çϱ⠶§¹®¿¡ ¾î¿ ¼ö ¾ø´Â Çö»óÀ̾ú´Ù. ±×·¡¼ Ŭ·¯½ºÅ͵å À妽º ÇÑ ¹ø ¹Ù²Ù·Á¸é ½Ã°£ÀÌ ¸¹ÀÌ °É·Á¼ ´ë¿ë·® Å×À̺íÀÇ °æ¿ì ¸¸¸¸ÇÑ ÀÛ¾÷ÀÌ ¾Æ´Ï¾ú´Ù. ÇÏÁö¸¸ ÀÌÁ¦´Â Ŭ·¯½ºÅ͵å À妽º¸¦ Àç»ý¼ºÇÑ´Ù°í ÇØ¼ ³ÍŬ·¯½ºÅ͵å À妽º±îÁö ¿µÇâÀ» ÁÖÁö ¾Ê´Â´Ù.
±×·³ ¿Â¶óÀÎ Àε¦½Ì ±â´ÉÀ» Á÷Á¢ ½ÃÇèÇØ º¸ÀÚ. ´ÙÀ½Àº adventureworks µ¥ÀÌÅͺ£À̽ºÀÇ SalesOrderDetail Å×À̺íÀÇ À妽º¸¦ Àç»ý¼ºÇÏ´Â ±¸¹®ÀÌ´Ù. ÀÌ Å×À̺íÀÌ 12¸¸ÇàÀ̳ª µÇ±â ¶§¹®¿¡ ÀÌ·¯ÇÑ ÀÛ¾÷À» Å×½ºÆ®Çϱ⿡ ¾È¼º¸ÂÃãÀÌ´Ù.
SELECT GETDATE();
ALTER INDEX ALL ON Sales.SalesOrderDetail REBUILD
WITH (ONLINE = ON);
SELECT GETDATE();
-----------------------
2005-03-12 16:06:35.110
(1 row(s) affected)
-----------------------
2005-03-12 16:06:43.913
(1 row(s) affected)
ÀÌ °á°ú¸¦ º¸¸é SalesOrderDetail Å×À̺íÀÇ À妽º¸¦ Àç»ý¼ºÇÏ´Â µ¥ ÀÖ¾î WITH ¿É¼Ç¿¡ ONÀ» ÁÖ¾î¼ ¿Â¶óÀÎÀ¸·Î ÇÏ°í ½Ã°£Àº 35ÃÊ¿¡¼ 43ÃʱîÁö ¾à 8Ãʰ¡ °É·È´Ù. ÀÌ ÀÛ¾÷À» µ¹¸®´Â °Í°ú µ¿½Ã¿¡ ´ÙÀ½ µ¥ÀÌÅÍ °»½Å ÀÛ¾÷À» ÇÏÀÚ.
UPDATE Sales.SalesOrderDetail
SET OrderQty = 10000
WHERE SalesOrderID = 43659;
SELECT GETDATE();
(12 row(s) affected)
-----------------------
2005-03-12 16:06:39.677
(1 row(s) affected)
°á°ú¸¦ º¸¸é 39ÃÊ¿¡ °»½Å ÀÛ¾÷ÀÌ ³¡³µÀ½À» ¾Ë ¼ö ÀÖÀ» °ÍÀÌ´Ù. À妽º¸¦ Àç»ý¼ºÇÏ´Â µ¿¾È¿¡µµ µ¥ÀÌÅÍ °»½Å ÀÛ¾÷À» ¼º°øÇÑ °ÍÀÌ´Ù. ±×·±µ¥ ¸¸¾à ¿©±â¿¡¼ ONLINEÀ» OFF·Î ÇßÀ» ¶§ÀÇ ½Ã°£Àº ¾ó¸¶³ª °É¸±±î? ½ÇÁ¦ 2¢¦3ÃÊ ¹Û¿¡ °É¸®Áö ¾Ê´Â´Ù. Áï, À妽º¸¦ µÎ °³ ¸¸µéÁö ¾Ê¾Æµµ µÇ¹Ç·Î ±×¸¸Å ºü¸¥ °ÍÀÌ´Ù.
¿Â¶óÀÎ º¹±¸ ±â´É Áö¿ø
SQL ¼¹ö 2000¿¡¼´Â µ¥ÀÌÅͺ£À̽º°¡ º¹±¸µÇ´Â µ¿¾È »ç¿ëÀÚ´Â µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇÏÁö ¸øÇß´Ù. ÇÏÁö¸¸ SQL ¼¹ö 2005¿¡¼´Â ºÎºÐ º¹±¸ ±â´ÉÀ» Áö¿øÇÑ´Ù. ÇÑ ¿¹·Î µ¥ÀÌÅͺ£À̽ºÀÇ primary ÆÄÀÏ ±×·ìÀÌ º¹±¸µÇ¸é primary¸¦ »ç¿ëÇÏ´Â µ¥ÀÌÅͺ£À̽º´Â »ç¿ëÀÌ °¡´ÉÇÏ´Ù. ³ª¸ÓÁö´Â »ç¿ëÇÏ¸é¼ º¹±¸¸¦ ÇÑ´Ù.
¹é¾÷ ¹Ì·¯¸µ Áö¿ø
µ¥ÀÌÅ͸¦ ¹é¾÷ÇÒ ¶§ ÇϳªÀÇ Å×ÀÌÇÁ¿¡¸¸ ¹é¾÷À» Çߴµ¥ ¸¸¾à ±× Å×ÀÌÇÁ¿¡ ¿À·ù°¡ »ý±ä´Ù¸é ³°¨ÇÒ ¼ö¹Û¿¡ ¾ø´Ù. ±×·² ¶§¿¡´Â µÎ °³ÀÇ Å×ÀÌÇÁ¿¡ µ¿½Ã¿¡ ¹é¾÷¹Þ´Â °ÍÀÌ ¾ÈÀüÇÏ´Ù. SQL ¼¹ö 2005¿¡¼´Â ÀÌ·¯ÇÑ °æ¿ì¸¦ À§ÇØ ¹é¾÷ ¹Ì·¯¸µÀ» Áö¿øÇÑ´Ù. Áï, Å×ÀÌÇÁ 1¿¡ µ¥ÀÌÅ͸¦ ¹é¾÷ÇÏ¸é¼ µ¿½Ã¿¡ Å×ÀÌÇÁ 2¿¡µµ ¹é¾÷À» ÇÏ´Â °ÍÀÌ´Ù. ±×·¸´Ù°í ½Ã°£ÀÌ µÎ ¹è°¡ °É¸®´Â °ÍÀº ¾Æ´Ï´Ù. ¹Ì·¯¸µÀ» Çϱ⠶§¹®¿¡ ´õ Ãß°¡ÇÏ´õ¶óµµ ¼º´É¿¡ ¿µÇâÀ» ¹ÌÄ¡Áö ¾Ê´Â´Ù. ´Ü, ÀÌ ¶§ ¹é¾÷ ÀåÄ¡´Â µ¿ÀÏÇÑ ÀåÄ¡À̾î¾ß¸¸ ¹Ì·¯¸µÀÌ °¡´ÉÇÏ´Ù. ´ÙÀ½Àº ¹Ì·¯¸µ ¹é¾÷ ¿¹Á¦ÀÌ´Ù.
BACKUP DATABASE AdventureWorks
TO TAPE = '\\.\tape1'
MIRROR TO TAPE = '\\.\tape2'
WITH
FORMAT,
MEDIANAME = 'AdventureWorksSet1'
µ¿½Ã¿¡ ÇÏ´Â µ¥ÀÌÅͺ£À̽º ¹é¾÷°ú ·Î±× ¹é¾÷
SQL ¼¹ö 2000¿¡¼ÀÇ ·Î±× ¹é¾÷Àº µ¥ÀÌÅͺ£À̽º ¹é¾÷ÀÌ ³¡³ ÈÄ¿¡³ª °¡´ÉÇß´Ù. ÇÏÁö¸¸ SQL ¼¹ö 2005¿¡¼´Â µ¥ÀÌÅͺ£À̽º¿Í ·Î±×¸¦ µ¿½Ã¿¡ ¹é¾÷ÇÒ ¼ö ÀÖ´Ù.
´Ù¿îµÅµµ Á¢¼ÓÇÒ ¼ö ÀÖ´Â °ü¸®ÀÚ Àü¿ë ¿¬°á ±â´É
SQL ¼¹ö¸¦ ¿î¿µÇÏ´Ù°¡ °¡²û À߸øµÇ¸é CPU »ç¿ë·üÀÌ °ÅÀÇ 100%°¡ µÇ´Â °æ¿ì°¡ ¹ß»ýÇÒ ¼ö ÀÖ´Ù. ÀÌ·² °æ¿ì¿¡´Â ¸¶¿ì½ºµµ ¿òÁ÷ÀÌ±â ¾î·Æ´Ù. ¾î¶² Á¶Ä¡¸¦ ÃëÇÏ°í ½Í¾îµµ ¸¶¿ì½º°¡ ¿òÁ÷ÀÌÁö ¾ÊÀ¸´Ï ¾î¶»°Ô ÇØ º¸Áöµµ ¸øÇÏ°í ¹ß¸¸ µ¿µ¿ ±¸¸£´Â °æ¿ì°¡ ÀÖ´Ù. SQL ¼¹ö 2005¿¡¼´Â ÀÌ·± °æ¿ì, °ü¸®ÀÚ Àü¿ë ¿¬°á ±â´É(dedicated administrator connection) ±â´ÉÀ» ÀÌ¿ëÇÏ¿© SQL ¼¹ö¿¡ Á¢¼ÓÇØ µé¾î°¡¼ ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ´Ù. ÀÌ´Â Ä¿¸Çµå¶óÀÎ À¯Æ¿¸®Æ¼¸¦ ÀÌ¿ëÇÏ´Â °ÍÀε¥, °ú°Å OSQLÀ» ´ëüÇÏ´Â SQLCMD¸¦ ÀÌ¿ëÇÏ¸é µÈ´Ù. SQLCMD¸¦ »ç¿ëÇÒ ¶§ ¡®-A¡¯ ¿É¼ÇÀ» ÁÖ¸é °ü¸®ÀÚ Àü¿ë ¿¬°á·Î µé¾î °¥ ¼ö ÀÖ´Ù. ¸í·É ÇÁ·ÒÇÁÆ®¿¡¼ ´ÙÀ½°ú °°ÀÌ ½ÇÇàÇØ º¸ÀÚ.
C:\Documents and Settings\Administrator>sqlcmd -S localhost -E -A
1> USE adventureworks
2> go
Changed database context to 'AdventureWorks'.
1> select Name from Person.AddressType
2> go
Name
--------------------------------------------------
Archive
Billing
Home
Main Office
Primary
Shipping
(6 rows affected)
1>
ÀÌ ¿¹Á¦´Â ·ÎÄà SQL ¼¹ö(-S localhost)¿¡ °ü¸®ÀÚ Àü¿ë ¿¬°á(-A)À» ½Å·ÚµÈ ¿¬°á(-E)·Î Á¢±ÙÇÏ¿© Äõ¸®¸¦ ¼öÇàÇÏ´Â ¸ð½ÀÀÌ´Ù.
ÀͽºÃ¼ÀÎÁö³ª ¾Æ¿ô·èÀÌ ÇÊ¿ä ¾ø´Â ¸ÞÀϸµ ±â´É
±âÁ¸ SQLMailÀÇ °æ¿ì, »ç¿ëÇÏ·Á¸é ÀͽºÃ¼ÀÎÁö¿Í ¾Æ¿ô·èÀÌ ÇÊ¿äÇß´Ù. ¼³Ä¡ ¶ÇÇÑ °èÁ¤ ¹®Á¦°¡ ¾ôÇô ÀÖ¾î¼ °£´ÜÇÏÁö ¾Ê¾Ò´Ù. ±×·¡¼ À̹ø SQL ¼¹ö 2005¿¡¼´Â Á» ´õ Æí¸®ÇÑ SQLiMailÀ» Áö¿øÇÑ´Ù. ÀÌ´Â ÀͽºÃ¼ÀÎÁö³ª ¾Æ¿ô·è ¾øÀ̵µ SMTP ¼¹ö¸¸ ÀÖÀ¸¸é »ç¿ë °¡´ÉÇÑ ¸ÞÀϸµ ±â´ÉÀÌ´Ù. ÀÌ ±â´ÉÀº ÇöÀç´Â ±âº»ÀûÀ¸·Î ¼³Ä¡µÇÁö ¾Ê°í °ü¸®ÀÚ°¡ Ãß°¡·Î ¼³Ä¡ÇØ¾ß ÇÑ´Ù. ¹æ¹ýÀº µÎ °¡Áö°¡ Àִµ¥, ¸¶¹ý»ç¸¦ ÀÌ¿ëÇÏ´Â ¹æ¹ý°ú Äõ¸®¸¦ Á÷Á¢ ÀÌ¿ëÇØ¼ ¼³Ä¡ÇÏ´Â ¹æ¹ýÀÌ ÀÖ´Ù. Äõ¸®¸¦ ÀÌ¿ëÇÏ·Á¸é ´ÙÀ½°ú °°Àº Æú´õ¿¡ ½ºÅ©¸³Æ®°¡ ÀÖÀ¸´Ï À̸¦ ½ÇÇàÇØ¼ ¼³Ä¡Çϰí ÇÁ·ÎÆÄÀϰú °èÁ¤À» ¸¸µé¾î¼ ¿¬°á½ÃÄÑ ÁÖ¸é µÈ´Ù.
C:\Program Files\Microsoft SQL Server\MSSQL. 1\MSSQL\Install\Install_SQLiMail.sql
¸¶¹ý»ç¸¦ ÀÌ¿ëÇÏ´Â ¹æ¹ýÀº ¸Å´ÏÁö¸ÕÆ® ½ºÆ©µð¿À¿¡¼ ¸Å´ÏÁö¸ÕÆ®¿¡ ºÎºÐ¿¡ º¸¸é SQLiMailÀ̶ó´Â ¾ÆÀÌÄÜÀÌ ÀÖ´Ù. ±× ¾ÆÀÌÄÜÀ» ´õºíŬ¸¯ÇÏ¸é ¸¶¹ý»ç°¡ ½ÇÇàµÈ´Ù.
 |
| <ȸé 1> SQLiMail ¸¶¹ý»ç |
»ç¿ë ¹æ¹ýÀº ±âÁ¸°ú ºñ½ÁÇÏ´Ù.
EXEC dbo.sendimail_sp
@profile_name = 'AdventureWorks Administrator',
@recipients = 'danw@Adventure-Works.com',
@body = 'Àß µµÂøÇß³ª¿ä?',
@subject = 'Å×½ºÆ® ¸ÞÀÏÀÔ´Ï´Ù.' ;
ÀÌ¿Í °°ÀÌ ¹ÞÀ» »ç¶÷À» ÁöÁ¤ÇÏ°í ¸ÞÀÏÀ» º¸³»¸é µÈ´Ù.
½Ã½ºÅÛ Æ®·¹ÀÌ¿¡¼ »ç¶óÁø SQL ¼¹ö ¼ºñ½º °ü¸®ÀÚ
SQL ¼¹ö 2000¿¡¼´Â ¼ºñ½º °ü¸®ÀÚ°¡ ½Ã½ºÅÛ Æ®·¹ÀÌ ¾ÆÀÌÄÜÀ¸·Î ÀÖ¾î¼ °Å±â¿¡¼ °ü¸®Çß´Ù. ÇÏÁö¸¸ ÀÌ´Â ´Ù¸¥ MS Á¦Ç° ´ëºÎºÐÀÌ MMC(Microsoft Management Console)¸¦ ÀÌ¿ëÇÏ¿© °ü¸®ÇÏ´Â °Í°ú´Â Â÷ÀÌÁ¡ÀÌ ÀÖ¾ú´Ù. ±×·¡¼ MS´Â ±×·± Æ®·¹ÀÌ ¾ÆÀÌÄÜÀ» ¾ø¾Ö°í MMC¿¡ Æ÷ÇÔ½ÃÄ×´Ù. ÀÌÁ¦´Â MMC ³»¿¡¼ ¼ºñ½º¸¦ ½ÃÀÛÇϰí ÁßÁöÇÒ ¼ö°¡ ÀÖ´Ù. [Á¦¾îÆÇ]-[°ü¸®µµ±¸]-[ÄÄÇ»ÅͰü¸®]¿¡ °¡º¸¸é SQL ÄÄÇ»ÅÍ ¸Å´ÏÀú°¡ ÀÖ´Ù.
 |
| <ȸé 2> SQL ¼¹ö 2000ÀÇ ¼ºñ½º °ü¸®ÀÚ |
 |
| <ȸé 3> SQL ¼¹ö 2005ÀÇ SQL ÄÄÇ»ÅÍ ¸Å´ÏÀú |
SQL ÄÄÇ»ÅÍ ¸Å´ÏÀú¿¡¼´Â ´ÙÀ½°ú °°Àº ¼ºñ½º¸¦ °ü¸®ÇÑ´Ù.
¡ß SQL ¼¹ö
¡ß SQL ¼¹ö Agent
¡ß SQL ¼¹ö Analysis Services
¡ß Report Server
¡ß Microsoft Search
¡ß Distributed Transaction Coordinator(DTC)
¡ß Full Text Search
¿£ÅÍÇÁ¶óÀÌÁî °ü¸®ÀÚ+Äõ¸® ºÐ¼®±â = SQL ¼¹ö ¸Å´ÏÁö¸ÕÆ® ½ºÆ©µð¿À
¸Ç óÀ½ SQL ¼¹ö 2005¸¦ ¼³Ä¡Çϸé Äõ¸® ºÐ¼®±â¸¦ ãÁö ¸øÇØ ¾à°£ ´çȲÇÒ ¼öµµ ÀÖ´Ù. SQL ¼¹ö 2005¿¡¼´Â ±âÁ¸ DB °ü¸®¸¦ À§ÇÑ ¿£ÅÍÇÁ¶óÀÌÁî °ü¸®ÀÚ¿Í ½ºÅ©¸³Æ® ¼öÇàÀ» À§ÇÑ Äõ¸® ºÐ¼®±â°¡ SQL ¼¹ö ¸Å´ÏÁö¸ÕÆ® ½ºÆ©µð¿À¶ó´Â À̸§À¸·Î ÇϳªÀÇ µµ±¸·Î ÇÕÃÄÁ³´Ù.
 |
| <ȸé 4> SQL ¼¹ö ¸Å´ÏÁö¸ÕÆ® ½ºÆ©µð¿À |
<ȸé 4>¸¦ º¸¸é ´Ù¾çÇÑ ±¸¼ºÀÌ Ãß°¡µÈ °ÍÀ» º¼ ¼ö ÀÖ´Ù. ¸¶Ä¡ ºñÁÖ¾ó ½ºÆ©µð¿À¸¦ ¿¬»óÇÏ°Ô ÇÏ´Â ±¸Á¶Ã³·³ º¯Çß´Ù. ÀÌ ¸Å´ÏÁö¸ÕÆ® ½ºÆ©µð¿À´Â SQL ¼¹ö 2005 »Ó¸¸ ¾Æ´Ï¶ó SQL ¼¹ö 2000, SQL ¼¹ö 7±îÁö ºÙ¿©¼ °ü¸®ÇÒ ¼ö ÀÖ´Ù. ÀÌ ¸Å´ÏÁö¸ÕÆ® ½ºÆ©µð¿ÀÀÇ °¡Àå Å« º¯È¶ó¸é ¾Æ¸¶µµ non-modal ±â´ÉÀÏ °ÍÀÌ´Ù.
±âÁ¸¿¡´Â EM(Enterprise Manager)¿¡¼ ¾î¶² ÀÛ¾÷À» Çϱâ À§Çؼ âÀ» ¶ç¿ì¸é ±× âÀº modal âÀ¸·Î ¶°¼ ±× ÀÛ¾÷ÀÌ ´Ù ³¡³¯ ¶§±îÁö ±â´Ù·Á¾ß¸¸ Çß´Ù. ÇÏÁö¸¸ ¸Å´ÏÁö¸ÕÆ® ½ºÆ©µð¿À¿¡¼´Â non-modal Çü½ÄÀ¸·Î âÀÌ ¶ß±â ¶§¹®¿¡ µ¿½Ã¿¡ ´Ù¸¥ ÀÛ¾÷À» ¼öÇàÇÏ´Â °ÍÀÌ °¡´ÉÇÏ´Ù.
¶Ç ´Ù¸¥ º¯È·Î´Â ¸Å´ÏÁö¸ÕÆ® ½ºÆ©µð¿À¿¡¼´Â ¸¹Àº ¼öÀÇ ¿ÀºêÁ§Æ®¸¦ ´Ù¸¦ ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù. ±âÁ¸ EM¿¡¼´Â DB¿¡ Á¢¼ÓÇÒ ¶§ Ç×»ó ¸ðµç ¿ÀºêÁ§Æ®¸¦ ÇѲ¨¹ø¿¡ ¿°ÅÇϱ⠶§¹®¿¡ ¿ÀºêÁ§Æ®°¡ ¸¹À» °æ¿ì¿¡´Â ½Ã°£ÀÌ ¿À·¡ °É·È´Ù. ÇÏÁö¸¸ ¸Å´ÏÁö¸ÕÆ® ½ºÆ©µð¿À¿¡¼´Â ±× ¿ÀºêÁ§Æ®¸¦ ºê¶ó¿ìÀú¿¡¼ ¿±â Àü±îÁö´Â ³ª¿ÇÏÁö ¾Ê´Â´Ù. Áï, ÇöÀç ÇÊ¿äÇÑ Á¤º¸¸¸ Àо°í Çʿ信 µû¶ó ±×¶§±×¶§ Á¤º¸¸¦ ÀÐ¾î ¿À±â ¶§¹®¿¡ DB¿¡ ¸¹Àº ¿ÀºêÁ§Æ®°¡ ÀÖ´õ¶óµµ Á¢¼ÓÇÏ´Â µ¥ ½Ã°£ÀÌ ¿À·¡ °É¸®Áö ¾Ê´Â´Ù.
<ȸé 4>¸¦ º¸¸é °¡¿îµ¥ ÀÖ´Â °ÍÀÌ Äõ¸® ÆíÁý±â(query editor)ÀÌ´Ù. Äõ¸® ÆíÁý±â°¡ ±âÁ¸ Äõ¸® ºÐ¼®±â¿Í´Â ´Þ¸® ´Ù¼öÀÇ Ã¢À» ¿ °æ¿ì »ó´Ü¿¡ ÅÇÀ¸·Î Ç¥½ÃµÈ´Ù. ±âº»¿¡ º°µµÀÇ Ã¢ÀÌ ¿·Á¼ °ü¸®ÇÏ±â ºÒÆíÇߴµ¥, »ó´Ü¿¡ ÅÇÀ¸·Î Ç¥½ÃµÇ´Ï âÀ» °ü¸®ÇϱⰡ ½¬¿öÁ³´Ù. ¾à°£ ºÒÆíÇÑ Á¡À̶ó¸é »ó´Ü ÅÇÀÇ Á¦¸ñÀÌ ³Ê¹« ±æ¾î¼ Àß º¸ÀÌÁö ¾Ê´Â´Ù´Â °ÍÀÌ´Ù. ÀÌ Äõ¸® ¿¡µðÅÍ¿¡¼´Â T-SQL »Ó¸¸ ¾Æ´Ï¶ó MDX, DMX, XMLA µîµµ °°ÀÌ ½ÇÇàÀÌ °¡´ÉÇÏ´Ù.
<ȸé 4>ÀÇ ¿ìÃø¿¡ º¸¸é ¼Ö·ç¼Ç Ž»ö±â(solution explorer)°¡ Àִµ¥, ÀÌ´Â ºñÁÖ¾ó ½ºÆ©µð¿Àó·³ ÇÁ·ÎÁ§Æ®¸¦ °ü¸®ÇÒ ¼ö ÀÖ´Â ±â´ÉÀ» ¸»ÇÑ´Ù. ´Ù¼öÀÇ SQL¹®À» ÇϳªÀÇ ÇÁ·ÎÁ§Æ®·Î ¹¾î¼ °ü¸®°¡ °¡´ÉÇÏ´Ù. ¶ÇÇÑ ¼Ò½º¼¼ÀÌÇÁµµ Áö¿øÇϱ⠶§¹®¿¡ ´Ù¼öÀÇ °³¹ßÀÚ°¡ µ¿½Ã °³¹ßÀ» ÇØµµ ¼Ò½º °ü¸®°¡ µÇ¸ç, ¹öÀü ÄÁÆ®·Ñµµ µÇ±â ¶§¹®¿¡ ¾ÕÀ¸·Î Äõ¸®¹® °ü¸®µµ ´õ¿í ½¬¿öÁú Àü¸ÁÀÌ´Ù.
Äõ¸®¹®À» ÀÌ¿ëÇØ¼ °³¹ßÇÏ´Ù º¸¸é ÁÖ·Î ¹Ýº¹µÇ´Â ÆÐÅϵéÀÌ ÀÖ´Ù. ±×·¡¼ ¼÷·ÃµÈ °³¹ßÀÚ³ª °ü¸®ÀÚµéÀº ÀÌ·¯ÇÑ ½ºÅ©¸³Æ®µéÀ» º°µµ·Î ¸ð¾Æ¼ °ü¸®Çϰí ÀÖ´Ù. ÇÏÁö¸¸ ÀÌÁ¦´Â ¸Å´ÏÁö¸ÕÆ® ½ºÆ©µð¿ÀÀÇ ÅÛÇø´ Ž»ö±â(template explorer)¿Í º¸Á¶ ÆíÁý±â(assisted editor)¸¦ ÀÌ¿ëÇϸé ÀÌ·¯ÇÑ ¹Ýº¹µÇ´Â ÆÐÅϵéÀ» ½±°Ô ÀÌ¿ëÇÒ ¼ö°¡ ÀÖ´Ù. ÅÛÇø´ Ž»ö±â´Â Àڱ⸸ÀÇ ÅÛÇø´À» µî·ÏÇϰųª ±âÁ¸¿¡ µî·ÏµÈ ÅÛÇø´À» ÀÌ¿ëÇÒ ¼ö ÀÖÀ¸¸ç, º¸Á¶ ÆíÁý±â´Â SP, Æ®¸®°Å, ÇÔ¼ö °°Àº °ÍµéÀ» ¸¸µé±â ½±°Ô µµ¿ÍÁÖ´Â ÆíÁý±âÀÌ´Ù.
 |
| <ȸé 5> ÅÛÇø´ Ž»ö±â [View]-[Templete Explorer] |
 |
| <ȸé 6> º¸Á¶ ÆíÁý±â [SQL Instance]-[Databases]-[Programmability]-[Stored Procedures]-¸¶¿ì½º ¿À¸¥ÂÊ ¹öư-[New Stored Procedure] |
Æ©´×ÀÇ Á¶¾ðÀÚ, µ¥ÀÌÅͺ£À̽º Æ©´× ¾îµå¹ÙÀÌÀú
±âÁ¸ À妽º Æ©´× ¸¶¹ý»ç´Â À妽º¸¸À» Æ©´×ÇÏ´Â µ¥ µµ¿òÀ» ÁÖ¾ú´Ù. ÇÏÁö¸¸ Æ©´× ¾îµå¹ÙÀÌÀú´Â À妽º»Ó¸¸ ¾Æ´Ï¶ó ÆÄƼ¼Å´×°ú °°Àº Àü¹ÝÀûÀÎ µ¥ÀÌÅͺ£À̽º Æ©´×¿¡ ´ëÇÑ Á¶¾ðÀ» ÇØÁØ´Ù. ¸ÕÀú ÇÁ·ÎÇÊ·¯·Î ÇØ´ç DB¸¦ ÃßÀûÇÑ ´ÙÀ½¿¡ À̸¦ trc ÆÄÀÏ·Î ÀúÀåÀ» ÇÑ´Ù. À̸¦ Æ©´× ¾îµå¹ÙÀÌÀú¿¡¼ ºÒ·¯¿Í¼ Æ©´×À» ÇÏ¸é ¾î¶»°Ô Ç϶ó´Â ±Ç°í »çÇ×À» ¾Ë·ÁÁØ´Ù. <ȸé 7>ÀÇ ¿¹Á¦¸¦ º¸¸é, Æ©´× ¾îµå¹ÙÀÌÀú°¡ ÇØ´ç Å×À̺íÀÇ ÇöÀç À妽º¸¦ »èÁ¦Ç϶ó°í Á¶¾ðÇϰí ÀÖ´Ù.
 |
| <ȸé 7> Database Tuning Advisor |
¼ÒÀ¯ÀÚ¿Í »ç¿ëÀÚ¸¦ ºÐ¸®ÇÏ´Â ½ºÅ°¸¶
SQL ¼¹ö 2000¿¡¼´Â µ¥ÀÌÅͺ£À̽º ¿ÀºêÁ§Æ®ÀÇ ¼ÒÀ¯ÀÚ°¡ »ç¿ëÀÚ¿´´Ù. ¿¹¸¦ µé¸é SQL ¼¹ö 2000¿¡¼ Northwind DBÀÇ Products Å×À̺íÀÇ ¼ÒÀ¯ÀÚ´Â dboÀÌ´Ù.
Northwind»Ó¸¸ ¾Æ´Ï¶ó ¾Æ¸¶ ´ëºÎºÐÀÇ Å×ÀÌºí ¼ÒÀ¯ÀÚ´Â ¸ðµÎ dbo·Î µÇ¾î ÀÖÀ» °ÍÀÌ´Ù. ±× ÀÌÀ¯´Â Å×À̺íÀÇ ¼ÒÀ¯ÀÚ¸¦ ¾î¶² ÇÑ »ç¿ëÀÚ·Î µÎ¾ú´Ù°¡ ¸¸¾à ±× »ç¿ëÀÚ¸¦ ±³Ã¼ÇØ¾ß ÇÑ´Ù¸é, ¸ðµç µ¥ÀÌÅͺ£À̽º ¿ÀºêÁ§Æ®ÀÇ ¼ÒÀ¯ÀÚ¸¦ ´Ù ¹Ù²ãÁà¾ß ÇÏ´Â ºÒÆíÀÌ Àֱ⠶§¹®ÀÌ´Ù. ÀÌ´Â ¾ÖÇø®ÄÉÀÌ¼Ç ÇÁ·Î±×·¥ÀÇ º¯°æ¿¡µµ ¿µÇâÀ» ¹ÌÄ¡´Âµ¥ ¾ÖÇø®ÄÉÀ̼ǿ¡¼ ÇØ´ç ¿ÀºêÁ§Æ®¸¦ »ç¿ëÇÏ´Â Äڵ带 ±â¼úÇÒ ¶§ ´ëºÎºÐ ¼ÒÀ¯ÀÚ¸¦ ¸í½ÃÇϱ⠶§¹®ÀÌ´Ù. ¿¹¸¦ µé¾î
pubs.dbo.MyProc
ÀÌ·± ½ÄÀ¸·Î ÀúÀå ÇÁ·Î½ÃÀú¸¦ È£ÃâÇØ¾ß Çϱ⠶§¹®¿¡ ¼ÒÀ¯ÀÚÀÇ º¯°æÀº ÇÁ·Î±×·¥ Àüü¸¦ ´Ù º¯°æÇØ¾ß ÇÑ´Ù´Â ½É°¢ÇÑ ¹®Á¦Á¡ÀÌ ¹ß»ýÇÑ´Ù. ±×·¡¼ ´ëºÎºÐ ±×³É ¼ÒÀ¯ÀÚ´Â dbo·Î ÅëÀÏÇØ¼ ¾²´Â °æ¿ì°¡ ¸¹¾Ò´Ù. SQL ¼¹ö 2005¿¡¼´Â ÀÌ·¯ÇÑ ¹®Á¦Á¡À» °³¼±ÇϰíÀÚ ½ºÅ°¸¶¶ó´Â °³³äÀ» È®ÀåÇß´Ù. µ¥ÀÌÅͺ£À̽ºÀÇ ¿ÀºêÁ§Æ®µéÀ» ¹¾î¼ ½ºÅ°¸¶¶ó°í ÇÏ°í »ç¿ëÀÚ´Â ÀÌ ½ºÅ°¸¶¸¦ ¼ÒÀ¯ÇÒ ¼ö ÀÖ´Â °ÍÀÌ´Ù.
 |
| <±×¸² 4> ½ºÅ°¸¶ »ç¿ëÀÚ ºÐ¸® |
| |
| ÀúÀå ÇÁ·Î½ÃÀú ¼ÒÀ¯ÀÚ¸¦ ¸í½ÃÇÏÁö ¾Ê¾Æ ºí·ÎÅ·ÀÌ °É¸®´Â °æ¿ì
ÀÌÀüÀÇ SQL ¼¹ö¿¡¼´Â ÀÚ½ÅÀÇ ¼ÒÀ¯°¡ ¾Æ´Ñ ÀúÀå ÇÁ·Î½ÃÀú¸¦ È£ÃâÇÒ ¶§ ¼ÒÀ¯ÀÚ¸¦ ¸í½ÃÇÏÁö ¾Ê°í È£ÃâÇÏ´Â °ÍÀÌ °¡´ÉÇÏ´Ù. ¿¹¸¦ µé¸é ´ÙÀ½Ã³·³ ÇÏ´Â °ÍÀÌ´Ù.
exec MyProc
±×·±µ¥ ÀÌ·² °æ¿ì °£È¤ ÇÁ·ÎÇÊ·¯·Î ÃßÀûÇØ º¸¸é ij½Ã ºÎÀûÁß(cache miss)ÀÌ ¹ß»ýÇÑ´Ù. Áï, ¹Ù·Î Àç»ç¿ë °¡´ÉÇÑ ½ÇÇà °èȹÀ» ãÁö ¸øÇϰí ÇÑ ¹ø ½ÇÆÐ¸¦ ÇÑ ÈÄ¿¡ ÄÄÆÄÀÏ Àá±ÝÀ» ÇÏ°í ±âÁ¸ ½ÇÇà °èȹ Áß Àç»ç¿ëÇÒ ¼ö ÀÖ´Â °ÍÀÌ ÀÖ´ÂÁö ã¾Æº»´Ù. ±×·¯´Ù°¡ ±âÁ¸¿¡ Àç»ç¿ë °¡´ÉÇÑ ½ÇÇà °èȹÀÌ ÀÖ´Ù´Â °ÍÀ» ¹ß°ßÇϰí ÀçÄÄÆÄÀÏÀ» ÇÏÁö ¾Ê°í ±âÁ¸ ½ÇÇà °èȹÀ» Àç»ç¿ëÇÏ´Â °ÍÀÌ´Ù. ÀÌ·± ÀÏ·ÃÀÇ °úÁ¤¿¡¼ ¹®Á¦°¡ µÇ´Â °ÍÀº ¹Ù·Î ÄÄÆÄÀÏ Àá±ÝÀÌ ¹ß»ýÇÑ´Ù´Â °ÍÀÌ´Ù. ´ë±Ô¸ð »ç¿ëÀÚ°¡ µ¿½Ã¿¡ ÀÌ SP¸¦ È£ÃâÇÑ´Ù¸é ºí·ÎÅ·ÀÌ °É¸± ¼öµµ ÀÖ´Â °ÍÀÌ´Ù. ±×·¯¹Ç·Î ¼ÒÀ¯ÀÚ¸¦ ¸í½ÃÇÏ´Â °ÍÀÌ ¹Ù¶÷Á÷ÇÑ ¹æ¹ýÀÌ´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº ´ÙÀ½À» ÂüÁ¶Çϱ⠹ٶõ´Ù.
¡ß http://support.microsoft.com/default.aspx?scid=kb;en-us;263889
¡ß ¡º°í±Þ SQL ¼¹ö °³¹ßÀÚ °¡À̵塻 64ÂÊ¢¦65ÂÊ(ÄË Çî´õ½¼ Àú/ ÇϼºÈñ ¿ª)
| | | | | |
| |
±×·¯¹Ç·Î ÀÌÁ¦´Â ¼ÒÀ¯ÀÚ°¡ ¹Ù²î´õ¶óµµ ÇØ´ç ¿ÀºêÁ§Æ®µéÀÇ ¼ÒÀ¯ÀÚ¸¦ ¸ðµÎ ¹Ù²Ù¾î ÁÙ Çʿ䰡 ¾ø´Ù. ´ÜÁö ½ºÅ°¸¶ÀÇ ¼ÒÀ¯ÀÚ¸¦ ¹Ù²Ù¾î ÁÖ¸é µÇ´Â °ÍÀÌ´Ù. Á÷Á¢ ½Ç½ÀÀ» ÇØº¸ÀÚ. ¸ÕÀú 3¸íÀÇ ·Î±×ÀÎÀ» »ý¼ºÇÑ´Ù.
CREATE LOGIN LoginA WITH PASSWORD = '123';
CREATE LOGIN LoginB WITH PASSWORD = '123';
CREATE LOGIN LoginC WITH PASSWORD = '123';
±× ´ÙÀ½ °¢°¢ÀÇ ·Î±×Àο¡ ¸Â´Â »ç¿ëÀÚ¸¦ »ý¼ºÇÑ´Ù.
USE AdventureWorks;
CREATE USER UserA FOR LOGIN LoginA WITH DEFAULT_SCHEMA = Schema1;
CREATE USER UserB FOR LOGIN LoginB;
CREATE USER UserC FOR LOGIN LoginC;
ÀÌ ¶§ UserA¿¡¸¸ ±âº» ½ºÅ°¸¶·Î Schema1À̶ó´Â °ÍÀ» ÇÒ´çÇß´Ù. ³ª¸ÓÁö´Â ¸í½Ã¸¦ ÇÏÁö ¾Ê¾Ò´Âµ¥, ±×·¯¸é ±âº» ½ºÅ°¸¶·Î dbo°¡ ÇÒ´çµÈ´Ù. ÀÌÁ¦ UserA¿¡´Â Å×ÀÌºí »ý¼º ±ÇÇÑÀ» ÁÖ°í, UserB¿¡´Â Schema1 ½ºÅ°¸¶ÀÇ Á¶È¸ ±ÇÇÑÀ» ÁÖÀÚ.
GRANT CREATE TABLE to UserA;
GRANT SELECT on Schema::Schema1 TO UserB;
Schema1 ½ºÅ°¸¶ÀÇ ¼ÒÀ¯ÀÚ¸¦ UserA·Î Á¤ÇÏÀÚ.
CREATE SCHEMA Schema1 AUTHORIZATION UserA;
»ç¿ëÀÚ UserA·Î º¯È¯ÇÑ ´ÙÀ½ Å×À̺íÀ» »ý¼ºÇÑ´Ù.
SETUSER 'UserA';
CREATE TABLE Schema1.TestTable(id integer);
»ç¿ëÀÚ UserB·Î º¯È¯ÇÑ ´ÙÀ½ Á¶È¸¸¦ ÇØº¸ÀÚ. ÀߵȴÙ.
SETUSER 'UserB';
SELECT * FROM Schema1.TestTable;
ÀÌÁ¦ Schema1ÀÇ ¼ÒÀ¯ÀÚ¸¦ ¹Ù²ãº¸ÀÚ.
SETUSER;
ALTER AUTHORIZATION ON SCHEMA::[Schema1] TO [UserC];
´Ù½Ã UserB¿¡ Á¶È¸ ±ÇÇÑÀ» ÁÖ°í Á¶È¸ÇØ º¸¸é ÀߵȴÙ. Áï, ½ºÅ°¸¶ÀÇ ¼ÒÀ¯ÀÚ°¡ º¯ÇÏ´õ¶óµµ ´Ù¸¥ °÷À» ¼öÁ¤ÇÏÁö ¾Ê¾Æµµ µÇ´Â °ÍÀÌ´Ù.
| |
| SQL ¼¹ö 2005¿¡¼´Â ½ºÅ°¸¶¸íÀ» ²À ¸í½ÃÇØ ÁÖ¾î¾ß Çϱ⠶§¹®¿¡ À̸§ÀÌ ±æ¾îÁ®¼ ÄÚµùÇϴµ¥ ¾à°£ ºÒÆíÇÔÀÌ ÀÖÀ» ¼ö ÀÖ´Ù. ±×·² ¶§¿¡´Â µ¿ÀÇ¾î ±â´ÉÀ» ÀÌ¿ëÇϸé ÄÚµù¿¡ µå´Â ³ë·ÂÀ» ÁÙÀÏ ¼ö ÀÖ´Ù.
CREATE SYNONYM Orders FOR Sales.SalesOrderHeader
ÀÌ¿Í °°ÀÌ ÁöÁ¤À» ÇÏ¸é ´ÙÀ½ºÎÅÍ´Â Sales.SalesOrderHeader¶ó°í ±æ°Ô Ä¡Áö ¾Ê¾Æµµ Orders¶ó°í Ä¡¸é µÈ´Ù. ÇÏÁö¸¸ ÀÌ ¹æ½ÄÀº ÄÚµù ³ë·ÂÀ» ÁÙ¿©Áشٴ Àǹ̿¡¼´Â ÁÁÀº ¹Ý¸é °¡µ¶¼º Ãø¸é¿¡¼´Â ÁÁÁö ¾ÊÀº ¹æ¹ýÀÌ µÉ ¼öµµ ÀÖ´Ù. ¿Ö³ÄÇÏ¸é ¼Ò½ºÄÚµå¶ó´Â °ÍÀº Çѱºµ¥ ÀÖÀ¸¸é ÆÇµ¶Çϱ⠽±Áö¸¸ ¿©·¯ ±ºµ¥¿¡ ¼Ò½ºÄڵ尡 ³ª´©¾îÁ® ÀÖ´Ù¸é ÆÇµ¶ÇϱⰡ ½±Áö ¾Ê±â ¶§¹®ÀÌ´Ù.
| | | | | |
| |
²÷¾îÁø ¼ÒÀ¯±Ç üÀεµ ¿¬°á °¡´É?
SQL ¼¹ö 2000¿¡¼ Å×À̺í°ú ÀúÀå ÇÁ·Î½ÃÀúÀÇ ¼ÒÀ¯ÀÚ°¡ °°Àº °æ¿ì¿¡´Â ÀüÇô ±ÇÇÑ Ã¼Å©¸¦ ÇÏÁö ¾Ê´Â´Ù. ¿¹¸¦ µé¾î Table1°ú ÀúÀå ÇÁ·Î½ÃÀú Proc1(Proc1¿¡¼ Table1À» ÂüÁ¶)ÀÇ ¼ÒÀ¯ÀÚ°¡ UserC¶ó¸é ´©±¸µç Proc1À» ½ÇÇàÇÒ ¼ö ÀÖ´Â »ç¶÷ÀÌ¸é ºñ·Ï Table1¿¡ ±ÇÇÑÀÌ ¾ø´õ¶óµµ Proc1À» ÅëÇØ ½ÇÇàÀÌ °¡´ÉÇÏ´Ù. À̸¦ ¼ÒÀ¯±Ç üÀÎ(ownership chain)À̶ó°í ºÎ¸¥´Ù.
 |
| <±×¸² 5> SQL ¼¹ö 2000ÀÇ ¼ÒÀ¯±Ç üÀÎ |
ÇÏÁö¸¸ ÀúÀå ÇÁ·Î½ÃÀú¿Í Å×À̺íÀÇ ¼ÒÀ¯ÀÚ°¡ ´Ù¸¥ °æ¿ì ±ÇÇÑ Ã¼Å©¸¦ ÇÏ°Ô µÇ¸ç ±ÇÇÑÀÌ ¾øÀ» °æ¿ì ¿¡·¯¸¦ ¹ß»ý½ÃŲ´Ù. ¿¹¸¦ µé¸é Table2ÀÇ ¼ÒÀ¯ÀÚ°¡ UserDÀ̰í Proc2(Proc2¿¡¼ Table2¸¦ ÂüÁ¶)ÀÇ ¼ÒÀ¯ÀÚ°¡ UserB¶ó¸é UserA°¡ UserB¿¡ ½ÇÇà ±ÇÇÑÀÌ ÀÖ´Ù°í ÇÏ´õ¶óµµ Å×À̺í°ú ÀúÀå ÇÁ·Î½ÃÀú°£ÀÇ ¼ÒÀ¯ÀÚ°¡ ´Ù¸£¹Ç·Î ±ÇÇÑ Ã¼Å©¸¦ ÇÑ´Ù. ±×·¯¹Ç·Î Table2¿¡ ´ëÇØ UserA°¡ ±ÇÇÑÀÌ ¾ø´Ù¸é ¿¡·¯¸¦ ¹ß»ý½ÃŲ´Ù. À̸¦ ²÷¾îÁø ¼ÒÀ¯±Ç üÀÎ(broken ownership chain)À̶ó°í ÇÑ´Ù. À̸¦ ÇØ°áÇϱâ À§ÇØ SQL ¼¹ö 2005¿¡¼´Â WITH¡¡EXECUTE ±¸¹®À» Á¦°øÇÑ´Ù.
 |
| <±×¸² 6> SQL ¼¹ö 2005ÀÇ execution context |
ALTER PROC UserB.Proc2 WITH EXECUTE AS 'UserZ'
ÀÌ¿Í °°ÀÌ ½ÇÇàÀ» Çϸé UserB.Proc2´Â ¸¶Ä¡ UserZ°¡ ½ÇÇàÇÏ´Â °Íó·³ °¡ÀåÇÏ°Ô µÈ´Ù. µû¶ó¼ UserZ°¡ Table2¿¡ ´ëÇØ ±ÇÇѸ¸ ÀÖ´Ù¸é ÀÌ ±¸¹®Àº ½ÇÇàÀÌ ÀߵȴÙ.
µ¥ÀÌÅ͸¦ º¸È£Çϱâ À§ÇÑ ¾ÏÈ£È ¸ÞÄ¿´ÏÁò Á¦°ø
¸¸¾à µ¥ÀÌÅÍ Áß¿¡ »ç¿ëÀÚ ÆÐ½º¿öµå°¡ ÀÖ´Ù¸é ´ëºÎºÐ ¾ÏÈ£ÈÇÏ¿© ÀúÀåÇÒ °ÍÀÌ´Ù. SQL ¼¹ö 2005¿¡¼´Â À̸¦ À§ÇØ ÀÎÁõ(certificate), ´ëĪŰ(symmetric keys), ºñ´ëĪŰ(asymmetric keys) µî ¼¼ °¡Áö ¹æ½ÄÀÇ ¾ÏÈ£È ¸ÞÄ¿´ÏÁòÀ» Á¦°øÇÑ´Ù. »ç¿ëÀÚ´Â ÀÌ ¼¼ °¡Áö Áß ÇÑ °¡Áö¸¦ ¼±ÅÃÇÏ¿© µ¥ÀÌÅ͸¦ ¾ÏÈ£ÈÇÏ¿© º¸È£ÇÒ ¼ö ÀÖ´Ù.
CREATE CERTIFICATE Cert1
WITH SUBJECT = 'Test',
ENCRYPTION_PASSWORD = '123',
EXPIRY_DATE = '2010/12/31';
DECLARE @n nvarchar(100);
SET @n = EncryptByCert ( Cert_ID('Cert1'), N'ABC');
SELECT @n;
SELECT CAST ( DecryptByCert( Cert_ID('Cert1'), @n, N'123') as nvarchar);
------------------------------
¤Ô¤²¤Í¤»?O????ÞÅ?¡Ç¤Ô¤¸¤Ç¤¥???ùá??¾æ??¤Ô¤§¤È¤¾???¼Õ?ìâëÚ????¤Ô¤§¤Ð¤«???¤Ô¤¸¤À¤¼?�??¤Ô¤³¤Í¤¼¤Ô¤¤¤Æ¤ª??æ©?
(1 row(s) affected)
------------------------------
ABC
(1 row(s) affected)
ÀÌ ¿¹Á¦¸¦ º¸¸é ÀÎÁõ ¹æ½ÄÀ¸·Î ¾ÏÈ£ÈÇϴµ¥ ºñ¹Ð¹øÈ£´Â 123À¸·Î Çß´Ù. ¾Ïȣȸ¦ ÇÏ´Ï ±×³É Á¶È¸Çغ¸¸é ¾Ë¾Æº¼ ¼ö ¾ø´Â °ªµéÀÌ ³ª¿Â´Ù. ÇÏÁö¸¸ ºñ¹Ð¹øÈ£¸¦ ÀÌ¿ëÇÏ¿© Á¦´ë·Î Ç®¸é ¿ø·¡ÀÇ °ªÀ» Á¶È¸ÇÒ ¼ö ÀÖ´Ù.
SQL ¼¹ö 2005 °ü¸®ÀÚ°¡ ºÁ¾ß ÇÒ °Íµé
À̹ø¿¡´Â SQL ¼¹ö 2005ÀÇ °ü¸®ÀÚ¶ó¸é ÇÑ ¹øÂë ºÁ¾ßÇÒ ¸¸ÇÑ ³»¿ëµéÀ» ÀüüÀûÀ¸·Î ¾Ë¾Æº¸°í, Ãß°¡·Î º¸¾È¿¡ ´ëÇÑ ³»¿ëÀ» ¼Ò°³Çß´Ù. ¸¶Áö¸·ÀÎ ´ÙÀ½ ¿¬Àç¿¡¼´Â ´ë¿ë·® µ¥ÀÌÅ͸¦ ´Ù·ç±â À§ÇÑ Å×ÀÌºí ÆÄÆ¼¼Å´×°ú °¡¿ë¼º(availability)À» ³ôÀ̱â À§ÇÑ ¹Ì·¯¸µ°ú ½º³À¼¦¿¡ ´ëÇØ ¼Ò°³ÇÒ ¿¹Á¤ÀÌ´Ù.@
* ÀÌ ±â»ç´Â ZDNet KoreaÀÇ Á¦ÈÞ¸ÅüÀÎ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿þ¾î¿¡ °ÔÀçµÈ ³»¿ëÀÔ´Ï´Ù.