¹ØÓÚʲôÊÇÓû§È¨ÏÞ£¬×î¼òµ¥µÄ¶¨Òå¿ÉÄÜÊÇ£¬¡°Óû§ÄÜ×öʲôºÍ²»ÄÜ×öʲô¡£¡±ÔÚÕâÀ¼òµ¥µÄ¶¨Òå¾ÍÏ൱²»´íÁË¡£
Óû§µÄȨÏÞ·ÖΪ3Àࣺ
l µÇ¼µÄȨÏÞ£»
l ·ÃÎÊÌØ¶¨Êý¾Ý¿âµÄȨÏÞ£»
l ÔÚÊý¾Ý¿âÖоßÌåµÄ¶ÔÏóÉÏÖ´ÐÐÌØ¶¨²Ù×÷µÄȨÏÞ¡£
¼ÈÈ»ÎÒÃÇÒѾ¿´¹ýÁË´´½¨µÇ¼ÕË»§£¬ÕâÀォ°ÑÖØµã·ÅÔڵǼÕË»§Äܹ»ÓµÓеÄÌØ¶¨È¨ÏÞÉÏ¡£
22.3.1 ÊÚÓè·ÃÎÊÌØ¶¨Êý¾Ý¿âµÄȨÏÞ
Èç¹ûÏëÒªÒ»¸öÓû§¿ÉÒÔ·ÃÎÊÊý¾Ý¿â£¬ÄãÐèÒª×öµÄµÚÒ»¼þÊÂÇéÊÇÊÚÓèÓû§·ÃÎÊÄǸöÊý¾Ý¿âµÄȨÏÞ¡£¿ÉÒÔÔÚManagement StudioÖУ¬Í¨¹ý°ÑÓû§¼ÓÈëµ½·þÎñÆ÷µÄÊý¾Ý¿â½áµãµÄÓû§³ÉÔ±ÖÐÀ´ÊµÏÖ¡£Èç¹ûÒªÓÃT-SQLÀ´Ìí¼ÓÓû§£¬ÐèҪʹÓÃCREATE USER»òÒÅÁôµÄ´æ´¢¹ý³Ìsp_grantdbaccess¡£
×¢Ò⣬µ±ÄãÔÚÊý¾Ý¿âÖÐCREATEÒ»¸öÓû§Ê±£¬Êµ¼ÊÉÏ£¬ÄÇЩÐí¿ÉȨÏÞ±»´æ´¢ÔÚÊý¾Ý¿âÖУ¬²¢Ó³Éäµ½ÄǸöÓû§µÄ·þÎñÆ÷±êʶ·ûÉÏ¡£µ±»¹ÔÊý¾Ý¿âʱ£¬¿ÉÄܲ»µÃ²»ÔÚ»¹ÔÊý¾Ý¿âµÄµØ·½£¬ÖØÐ°ÑÓû§È¨ÏÞÓ³Éäµ½·þÎñÆ÷±êʶ·û¡£
1£®CREATE USER
CREATE USERÃüÁî°ÑÐÂÓû§Ìí¼Óµ½Êý¾Ý¿âÖС£Óû§¿ÉÒÔÔ´×ÔÏÖÓеĵǼÃû¡¢Ö¤Êé»ò·Ç¶Ô³ÆÃÜÔ¿£¬Óû§Ò²¿ÉÒÔÊÇÖ»ÄÜÔÚµ±Ç°Êý¾Ý¿âÖеı¾µØÓû§¡£ÆäÓï·¨ÈçÏ£º
CREATE USER <Óû§Ãû>
[ { { FOR | FROM }
{
LOGIN <µÇ¼Ãû>
| CERTIFICATE <Ö¤ÊéÃû>
| ASYMMETRIC KEY <ÃÜÔ¿Ãû>
}
| WITHOUT LOGIN ]
[ WITH DEFAULT_SCHEMA = <ģʽÃû> ]
¶ÔÓÚÕâÐ©ÔªËØ£¬ÎÒÃǸÅÂÔ¿´Ò»ÏÂÆäÖÐÒ»Ð©ÔªËØµÄº¬ÒåÊÇʲô£º
Ñ¡¡¡¡¡Ïî
˵¡¡¡¡Ã÷
LOGIN
ÏëÒªÊÚÓè·ÃÎʵ±Ç°Êý¾Ý¿âµÄȨÏ޵ĵǼÃû
CERTIFICATE
ÓëÓû§¹ØÁªµÄÖ¤ÊéµÄÂß¼Ãû³Æ¡£×¢Ò⣬±ØÐëÒѾʹÓÃCREATE CERTIFICATEÃüÁî´´½¨ÁËÖ¤Êé
ASYMMETRIC KEY
ÓëÓû§¹ØÁªµÄ·Ç¶Ô³ÆÃÜÔ¿µÄÂß¼Ãû³Æ¡£×¢Ò⣬±ØÐëÒѾʹÓÃCREATE ASYMMETRIC KEYÃüÁî´´½¨ÁËÃÜÔ¿
WITHOUT LOGIN
´´½¨Ö»ÄÜÔÚµ±Ç°Êý¾Ý¿âÖлµÄÓû§¡£¿ÉÒÔÓÃËüÀ´½¨Á¢Ìض¨µÄ°²È«ÉÏÏÂÎÄ£¬µ«ÊÇ£¬¸ÃÓû§²»ÄÜÓ³Éäµ½µ±Ç°Êý¾Ý¿âÖ®ÍâµÄµÇ¼Ãû£¬Ò²²»ÄÜ·ÃÎÊÈÎºÎÆäËûµÄÊý¾Ý¿â
WITH DEFAULT_SCHEMA
ÉèÁ¢²»ÊÇĬÈϵġ°dbo¡±µÄģʽ£¬ÒÔ×÷Ϊµ±Ç°Óû§µÄĬÈÏģʽ
2£®sp_grantdbaccess
ÕâÊÇÒÅÁôµÄ·½·¨£¬ÓÃÀ´ÊÚÓèµÇ¼Ãûµ½Ìض¨Êý¾Ý¿âµÄ·ÃÎÊȨÏÞ¡£ÆäÓï·¨ÈçÏ£º
sp_grantdbaccess [@loginame =] <µÇ¼Ãû>[, [@name_in_db =] <Êý¾Ý¿âÖеıðÃû>
×¢Ò⣬ÊÚÓèµÄÊǵ±Ç°Êý¾Ý¿âµÄ·ÃÎÊȨÏÞ¨D¨D¼´ÊÇ˵£¬Äã ±ØÐëÈ·±£ÏëÒªÓû§Äܹ»·ÃÎʵÄÊý¾Ý¿âÊÇ·¢³ö¸ÃÃüÁîʱµÄµ±Ç°Êý¾Ý¿â¡£µÇ¼ÃûÊÇÓÃÀ´µÇ¼µ½SQL ServerÖеÄʵ¼ÊµÄµÇ¼ID¡£²ÎÊýname_in_dbÔÊÐí¸ø¸ÃÓû§ÁíÍâµÄʶ±ðÃû³Æ¡£Õâ¸ö±ðÃûÖ»ÊÊÓÃÓÚ´Ë´¦µÄÊý¾Ý¿â¨D¨DÆäËûËùÓеÄÊý¾Ý¿âÈÔ½«Ê¹ÓÃ¸ÃµÇ Â¼IDµÄĬÈÏÃû³Æ£¬»òÕßʹÓÃÔÚÊÚÓèÓû§ÄǸöÊý¾Ý¿âµÄ·ÃÎÊȨÏÞʱËù¶¨ÒåµÄ±ðÃû¡£¶¨Òå±ðÃû½«Ó°ÏìÉí·Ýʶ±ðº¯Êý£¬ÈçUSER_NAME()¡£ÏµÍ³¼¶±ðµÄº¯Êý£¨Èç SYSTEM_USER£©½«·µ»Ø»ù´¡µÄµÇ¼ID¡£
22.3.2 ÊÚÓèÊý¾Ý¿âÖжÔÏóµÄȨÏÞ
ºÃ°É£¬Óû§ÓµÓÐÁ˵ǼÃû£¬²¢ÇÒ£¬Äܹ»·ÃÎÊÄãÏëÒªËû»òËý¿ÉÒÔ·ÃÎʵÄÊý¾Ý¿â£¬ÄÇô£¬ÊÇ·ñÏÖÔÚ¾ÍÍòÊ´ó¼ªÁËÄØ£¿Èç¹ûÊÂÇéÕæÓÐÄÇô¼òµ¥¾ÍºÃÁË£¡ÏÖÔÚµ±È»»¹Ã»ÓÐÒ»ÇоÍÐ÷¡£
ÔÚÓû§Äܹ»·ÃÎÊʲôµÄÎÊÌâÉÏ£¬SQL Server¸øÁËÎÒÃǼ¶±ðÏ൱¾«Ï¸µÄ¿ØÖÆ¡£¶àÊýʱºò£¬Ò»Ð©ÐÅÏ¢ÊÇÏ£ÍûÓû§Äܹ»·ÃÎʵ½µÄ£¬µ«ÊÇ£¬Êý¾Ý¿âÖÐÒ²ÓÐÁíһЩÐÅÏ¢ÊDz»Ï£ÍûÓû§·ÃÎʵġ£ÀýÈ磬Äã¿ÉÄÜÏë Òª¿Í»§·þÎñÈËÔ±Äܹ»²é¿´ºÍά»¤¶©µ¥ÐÅÏ¢£¬µ«ÊÇ¿ÉÄܲ»Ï£ÍûËûÃÇÂÒ¿´¹¤×ÊÐÅÏ¢¡£»òÐí£¬·´Ö®ÒàÈ»¨D¨DÄãÐèÒªÈËÁ¦×ÊÔ´ÈËÔ±Äܹ»±à¼¹ÍÔ±¼Ç¼£¬µ«ÊÇ£¬»òÐí²»ÏëÒªËûÃÇ ÔÚ½»Ò×ÉϸøÄ³È˺ܴóµÄÕÛ¿Û¡£
SQL ServerÔÊÐíÄã¸øSQL ServerÖÐһЩ²»Í¬µÄ¶ÔÏóÖ¸ÅÉÒ»×鲻ͬµÄȨÏÞ¡£Äܹ»ÎªÆäÖ¸ÅÉȨÏ޵ĶÔÏó°üÀ¨±í¡¢ÊÓͼºÍ´æ´¢¹ý³Ì¡£´¥·¢Æ÷Òþº¬¾ßÓд´½¨ËüÃǵÄÈ˵ÄȨÏÞ¡£
¶ÔÏóÉϵÄÓû§È¨ÏÞ·ÖΪ6ÖÖ²»Í¬µÄÀàÐÍ¡£
Óû§È¨ÏÞ
˵¡¡¡¡Ã÷
SELECT
ÔÊÐíÓû§¡°¿´µ½¡±Êý¾Ý¡£Èç¹ûÓû§ÓµÓиÃȨÏÞ£¬ÔòÓû§Äܹ»ÔÚÆä±»ÊÚÓèȨÏ޵ıí»òÊÓͼÉÏÔËÐÐSELECTÓï¾ä
INSERT
ÔÊÐíÓû§´´½¨ÐµÄÊý¾Ý¡£¾ßÓÐÕâÖÖȨÏÞµÄÓû§Äܹ»ÔËÐÐINSERTÓï¾ä¡£×¢Ò⣬ÓëÐí¶àϵͳ²»Í¬£¬¾ßÓÐINSERTÄÜÁ¦²¢²»Ò»¶¨Òâζ×ÅÓµÓÐSELECTȨÏÞ
UPDATE
ÔÊÐíÓû§ÐÞ¸ÄÒÑÓеÄÊý¾Ý¡£¾ßÓÐÕâÖÖȨÏÞµÄÓû§Äܹ»ÔËÐÐUPDATEÓï¾ä¡£ÀàËÆÓÚINSERTÓï¾ä£¬¾ßÓÐUPDATEÄÜÁ¦²¢²»Ò»¶¨Òâζ×ÅÓµÓÐSELECTȨÏÞ¡£
DELETE
ÔÊÐíÓû§É¾³ýÊý¾Ý¡£¾ßÓÐÕâÖÖȨÏÞµÄÓû§Äܹ»ÔËÐÐDELETEÓï¾ä¡£Í¬Ñù£¬¾ßÓÐDELETEÄÜÁ¦²»Ò»¶¨Òâζ×ÅÓµÓÐSELECTȨÏÞ
REFERENCES
ÔÚÒª²åÈëÐеıíÖÐÓÐÒýÓÃÁíÒ»¸ö±íµÄÍâ¼üÔ¼Êø£¬¶øÓû§ÔÚÄǸö±íÉÏûÓÐSELECTȨÏÞ£¬REFERENCESȨÏÞÔÊÐíÓû§²åÈëÐÐ
EXECUTE
ÔÊÐíÓû§EXECUTEÖ¸¶¨µÄ´æ´¢¹ý³Ì
ÔÚÄãÕýÔÚ°ÑȨÏÞÖ¸¶¨µ½ÆäÉϵÄÌØ¶¨µÄ±í¡¢ÊÓͼ»ò´æ´¢¹ý³ÌÖУ¬¿ÉÒÔÔÚÐèҪʱ»ìºÏ´îÅäÕâЩȨÏÞ¡£
¿ÉÒÔÔÚManagement StudioÖÐÖ¸ÅÉÕâЩȨÏÞ£¬ÄãÖ»Ðèµ¼º½µ½·þÎñÆ÷µÄ¡°°²È«ÐÔ¡±½áµãµÄ¡°µÇ¼Ãû¡±Ñ¡ÏîÉÏ¡£ÔÚÓû§ÉÏÓÒ»÷£¬²¢Ñ¡Ôñ¡°ÊôÐÔ¡±¡£¸ù¾ÝÄãÊÇÔÚÊý¾Ý¿âÖл¹ÊÇÔÚ°²È«ÐÔ½á µãÖУ¬´ò¿ªµÄ¶Ô»°¿ò½«ÓÐËù²»Í¬£¬µ«ÊÇ£¬ÎÞÂÛÄÄÒ»ÖÖÇé¿ö£¬¶¼Äܹ»µÃµ½ÉèÖÃȨÏÞµÄÑ¡ÏʹÓÃT-SQLÖ¸ÅÉȨÏÞ»áʹÓÃÈý¸öÃüÁÁ˽âÕâÈý¸öÃüÁîÊÇÓÐÒæµÄ£¬¼´Ê¹ ÄãÖ»×¼±¸Í¨¹ýManagement StudioÀ´Ö¸ÅÉȨÏÞ£¨ÊõÓïÊÇÏàͬµÄ£©¡£
1£®GRANT
GRANT°Ñ¶ÔÏóÉÏÖ¸¶¨µÄ·ÃÎÊȨÏÞ¸øÓèÖ¸¶¨µÄÓû§»ò½ÇÉ«£¬¶ÔÏóÊÇGRANTÓï¾äµÄÖ÷Ìå¡£
GRANTÓï¾äµÄÓï·¨ÈçÏÂËùʾ£º
GRANT
ALL [PRIVILEGES] | <ȨÏÞ>[,...n]
ON
<±íÃû»òÊÓͼÃû>[(<ÁÐÃû>[,...n])]
|<´æ´¢¹ý³Ì»òÀ©Õ¹´æ´¢¹ý³ÌÃû>
TO <µÇ¼ID»ò½ÇÉ«Ãû>[,...n]
[WITH GRANT OPTION]
[AS <½ÇÉ«Ãû>]
ALL¹Ø¼ü×Ö±íʾÄãÏëÒªÊÚÓèµÄÊÇÊÊÓÃÓÚÄǸö¶ÔÏóÀàÐ͵ÄËùÓÐȨÏÞ£¨EXECUTE¾ø²»ÊÊÓÃÓÚ±í£©¡£Èç¹û²»Ê¹ÓÃALL¹Ø¼ü×Ö£¬ÔòÐèÒªÌṩһ¸ö»ò¶à¸ö¾ßÌåµÄȨÏÞ£¬ÕâЩ¾ßÌåµÄȨÏÞÊÇÕë¶ÔÄǸö¶ÔÏóÏëÒªÊÚÓèµÄ¡£
PRIVILEGESÊÇÒ»¸öеĹؼü×Ö£¬Ëü³ýÁËÌṩANSI-92¼æÈÝÐÔÍâûÓÐʵ¼ÊµÄ¹¦ÄÜ¡£
ON¹Ø¼ü×ÖÓÃ×÷Ò»¸öռλ·û£¬ÒÔ˵Ã÷½ÓÏÂÀ´µÄÊÇÏëÒªÊÚÓèÆäȨÏ޵ĶÔÏó¡£×¢Ò⣬Èç¹ûÄãÊÇÔÚ±íÉÏÊÚÓèȨÏÞ£¬¿ÉÒÔͨ¹ýÃ÷ȷ˵Ã÷ÊÜÓ°ÏìµÄÁеÄÁбíÀ´Ö¸¶¨ÏÂÖÁÁм¶µÄȨÏÞ¨D¨DÈç¹û²»Ìṩ¾ßÌåµÄÁУ¬ÔòÈÏΪ½«Ó°ÏìËùÓеÄÁС£
ÔÚ¶ÔÁм¶È¨Ï޵Ŀ´·¨ ÉÏ£¬Î¢ÈíËÆºõ×öµÄÊÇЩ±íÃæµÄÊÂÇé¡£Äܹ»ËµÒ»¸öÓû§¿ÉÒÔÔÚÌØ¶¨µÄ±íÉϽøÐÐSELECT£¬µ«½öÏÞÓÚÔڸñíÖÐÌØ¶¨µÄÁÐÉϽøÐÐSELECT£¬ÕâËÆºõºÜ¿á£¬È»¶ø£¬ÔÚ Áм¶È¨ÏÞµÄʹÓÃÖÐÒÔ¼°Î¢ÈíΪʵÏÖÁм¶È¨ÏÞËù×öµÄ¹¤×÷ÖУ¬È·ÊµÈð²È«ÐÔ´¦ÀíÌ«¹ý´í×Û¸´ÔÓÁË¡£¼øÓÚ´Ë£¬½üÀ´¹ØÓÚ¸ÃÖ÷ÌâµÄÎÄÏ×£¬ÒÔ¼°ÎÒ´ÓÄÚ²¿ÈËÊ¿ÄÇÀïµÃµ½µÄÏû Ï¢£¬Ëƺõ¶¼±íÃ÷΢ÈíÏëÒª¶ªÆúÁм¶°²È«ÐÔÁË¡£ÔÚʹÓÃÉÏËûÃǽ¨Òé¨D¨DÈç¹ûÐèÒªÏÞÖÆÓû§Ö»ÄÜ¿´µ½Ìض¨µÄÁУ¬Çë¸ÄΪ¿¼ÂÇʹÓÃÊÓͼ¡£
TOÓï¾äËù×öµÄÊÂÇéÕýÈçÄãÆÚÍûµÄÄÇÑù¨D¨DËüÖ¸¶¨ÏëÒª°Ñ¸Ã·ÃÎÊȨÏÞÊÚÓèË¡£±»ÊÚÓèȨÏ޵ĿÉÒÔÊǵǼID»ò½ÇÉ«Ãû¡£
WITH GRANT OPTIONÔÊÐíÄãÏòÆäÊÚÓè·ÃÎÊȨÏÞµÄÓû§Ò²ÄÜÏòÆäËûÓû§ÊÚÓè·ÃÎÊȨÏÞ¡£
ÓÉÓÚʹÓøÃÑ¡Ïî ºó£¬ÒªÁ˽âË»ñµÃÁË·ÃÎÊʲôµÄȨÏÞ£¬½«ºÜ¿ì±äµÃÊ®·ÖÍ´¿à£¬Òò´Ë£¬ÎÒ½¨Òé±ÜÃâʹÓøÃÑ¡Ïî¡£µ±È»£¬Äã×ÜÊÇ¿ÉÒÔ½øÈëµ½Management StudioÖÐÀ´²é¿´