SQL SERVERµÇ¼Óû§ÔÚ·þÎñÆ÷ÉϵÄȨÏÞ
SQL SERVERµÇ¼Óû§ÔÚ·þÎñÆ÷ÉϵÄȨÏÞ
Ò»¸öµÇ¼Óû§µ½µ×ÔÚSQL SERVERʵÀýÉÏÓÐʲôÑùµÄȨÏÞ£¬ÏÂÃæÒÔSQL SERVER2005ΪÀýÀ´Ï¸Êýһϡ£
Ò»£®
Ê×ÏȲ鿴¸ÃµÇ¼Óû§ÊôÓÚÄĸö¹Ì¶¨·þÎñÆ÷½ÇÉ«¡£ËùÓÐSQL SERVERµÄµÇ¼Óû§ºÍ½ÇÉ«¶¼»áÔÚmaster.sys.server_principalÊÓͼÉÏÓÐÒ»Ìõ¼Ç¼¡£¶ø¼Ç¼µÇ¼Óû§ÊôÓÚʲô·þÎñÆ÷½ÇÉ«µÄÊÓͼÊÇmaster.sys.server_role_members¡£
¶þ£®
²é¿´µÇ¼Óû§ÔÚ·þÎñÆ÷¼¶±ðÉÏÓÐʲôȨÏÞ£¬¸ÃȨÏ޼ǼÓÚÊÓͼsys.server_permissionsÖС£
Èý£®
²é¿´µÇ¼Óû§ÔÚ·þÎñÆ÷¼¶±ðÉÏÓÐʲôËùÓÐȨ¡£×¢ÒⲻͬÓÚÉÏÃæµÄȨÏÞ£¬ÒòΪSQL SERVERÊDz»ÄÜÏò°²È«¶ÔÏóµÄËùÓÐÕß·ÖÅäȨÏ޵ģ¬ËùÒÔȨÏÞºÍËùÓÐȨÊÇ·Ö¿ªµÄ¡£ËùÓÐȨ¼ûÏÂͼ¡£
ËÄ£®
¼ì²éËùÓеÄÊý¾Ý¿â£¬¿´ÊÇ·ñÓÐÊý¾Ý¿âÓû§Ó³ÉäÖÁ¸ÃµÇ¼Ãû¡£SQL SERVER2005ÖÐͬһÊý¾Ý¿âÖеIJ»Í¬Óû§²»ÄÜÓ³ÉäÖÁͬһµÇ¼Ãû¡£Ó³Éä¹ØÏµ¼Ç¼ÓÚÊÓͼsys.database_principalsÖС£
ÈôûÓÐÓû§Ó³É䣬Ôò¼ì²é´ËÊý¾Ý¿âÖÐguestÓû§ÊÇ·ñ¼¤»î¡£Èô¼¤»îÔòÔÚ´ËÊý¾Ý¿âÖÐÓµÓÐguestµÄȨÏÞ£»ÈôûÓм¤»î£¬ÔòÔÚ´ËÊý¿âÖÐûÓÐȨÏÞ¡£
ÈôÓÐÓû§Ó³É䣬Ôò¸ÃÊý¾Ý¿âÓû§µÄȨÏÞ¾ÍÊǵǼÓû§ÔÚ¸ÃÊý¾Ý¿âÖеÄȨÏÞ¡£
Î壮
ÉÏÃæµÄÊý¾Ý¿âÓû§£¨¿ÉÄܾÍÊÇguestÓû§£©£¬ËüÃǵÄȨÏÞµ½µ×ÊÇÊ²Ã´ÄØ£¿
Ê×ÏÈÒª¼ì²é¸ÃÊý¾Ý¿âÓû§ÊÇ·ñÊôÓÚÊý¾Ý¿â½ÇÉ«£¨¹Ì¶¨½ÇÉ«¡¢×Ô¶¨Òå½ÇÉ«ºÍÓ¦ÓóÌÐò½ÇÉ«£©£¬ËùÓеÄÓû§ºÍ½ÇÉ«¶¼¼Ç¼ÓÚÏàÓ¦Êý¾Ý¿âµÄsys.databse_principalsÊÓͼÖС£¶ø¼Ç¼Óû§ÊôÓÚʲô½ÇÉ«µÄÊÓͼÊÇsys.database_role_member¡£
ÈôÓû§ÊôÓÚij¸ö½ÇÉ«£¬ÔòÓû§¾ÍÓµÓиýÇÉ«µÄȨÏÞ¡£Ò»¸öÓû§¿ÉÒÔͬʱÊôÓÚ¶à¸ö½ÇÉ«£¬¶øÇÒÒ»¸ö½ÇÉ«¿ÉÒÔÊôÓÚÁíÒ»¸ö½ÇÉ«¡£ÏÂÃæµÄ´úÂëÑÝʾÁËÔÚSQL SERVER 2005ÖÐÈçºÎÏÔʾһ¸öÓû§£¨user1£©ËùÊôµÄËùÓнÇÉ«µÄÃû³Æ£º
;with members as
( select *
from sys.database_role_members
where user_name(member_principal_id) = 'user1'
union all
select b.*
from members a
join sys.database_role_members b
on b.member_principal_id = a.role_principal_id
)
select user_name(role_principal_id)
from members
ÒòΪËùÓеÄÊý¾Ý¿âÓû§±ØÈ»ÊôÓÚpublic½ÇÉ«£¬Òò´ËËùÓÐÓû§±ØÈ»ÓµÓÐPublic½ÇÉ«µÄȨÏÞ¡£
ÖªµÀÁËËùÊôµÄ½ÇÉ«£¬ÏÂÃæµÄÎÊÌâ¾Í¼òµ¥ÁË¡£½ÇÉ«ÒÔ¼°Êý¾Ý¿âÓû§µÄȨÏ޼ǼÓÚÊÓͼsys.databaser_permissionsÖС£
Áù£®
ÎÒÃÇ»¹ÐèÒª²é¿´Óû§ºÍ½ÇÉ«ÔÚÊý¾Ý¿â¼¶±ðÉÏÓÐʲôËùÓÐȨ¡£ËùÓÐȨ¼ûÏÂͼ¡£
Æß£®
ÈôÔÚÆäËûÖ÷ÌåÉÏÓÐImpersonateµÄȨÏÞ£¬Ôò±íÊ
Ïà¹ØÎĵµ£º
(1) Connect to the Analysis server, select the database which we want it to be automatically processed. Right click on this database, choose ‘Process’:
(2) In the opening ‘Process database’ form, click the ‘Script Action ......
windows ¼¯³ÉÑéÖ¤£º
<connectionStrings>
<add name="ConnectionStr" connectionString="Data Source=CAIPENG-PC;database=Test;Integrated Security=SSPI" providerName="System.Data.SqlClient"/>
</connectionStrings>
»òÕß
<connectionStrings>
<add name=" ......
¸ÄÉÆSQLÓï¾ä
¡¡¡¡ºÜ¶àÈ˲»ÖªµÀSQLÓï¾äÔÚsql serverÖÐÊÇÈçºÎÖ´Ðеģ¬ËûÃǵ£ÐÄ×Ô¼ºËùдµÄSQLÓï¾ä»á±»SQL SERVERÎó½â¡£±ÈÈ磺
select * from table1 where name=''zhangsan'' and tID > 10000
ºÍÖ´ÐÐ:
select * from table1 where tID > 10000 and name=''zhangsan''
¡¡¡¡Ò»Ð©È˲»ÖªµÀÒÔÉÏÁ½ÌõÓï¾äµÄÖ´ÐÐЧÂÊÊÇ·ñÒ» ......
¾Û¼¯Ë÷ÒýµÄÖØÒªÐÔºÍÈçºÎÑ¡Ôñ¾Û¼¯Ë÷Òý
¡¡¡¡ÔÚÉÏÒ»½ÚµÄ±êÌâÖУ¬±ÊÕßдµÄÊÇ£ºÊµÏÖСÊý¾ÝÁ¿ºÍº£Á¿Êý¾ÝµÄͨÓ÷ÖÒ³ÏÔʾ´æ´¢¹ý³Ì¡£ÕâÊÇÒòΪÔÚ½«±¾´æ´¢¹ý³ÌÓ¦ÓÃÓÚ“°ì¹«×Ô¶¯»¯”ϵͳµÄʵ¼ùÖÐʱ£¬±ÊÕß·¢ÏÖÕâµÚÈýÖÖ´æ´¢¹ý³ÌÔÚСÊý¾ÝÁ¿µÄÇé¿öÏ£¬ÓÐÈçÏÂÏÖÏó£º
1¡¢·ÖÒ³ËÙ¶ÈÒ»°ãά³ÖÔÚ1ÃëºÍ3ÃëÖ®¼ä¡£
2¡¢ÔÚ²éѯ×îºóһҳʱ£¬ ......
SQL×¢Èë¹¥»÷µÄΣº¦ÐԺܴó¡£ÔÚ½²½âÆä·ÀÖ¹°ì·¨Ö®Ç°£¬Êý¾Ý¿â¹ÜÀíÔ±ÓбØÒªÏÈÁ˽âÒ»ÏÂÆä¹¥»÷µÄÔÀí¡£ÕâÓÐÀûÓÚ¹ÜÀíÔ±²ÉÈ¡ÓÐÕë¶ÔÐԵķÀÖδëÊ©¡£
¡¡ Ò»¡¢ SQL×¢Èë¹¥»÷µÄ¼òµ¥Ê¾Àý¡£
¡¡¡¡statement := "SELECT * from Users WHERE Value= " + a_variable + "
ÉÏÃæÕâÌõÓï¾äÊÇºÜÆ ......