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µÄȨÏÞ£¬Ôò±íÊ
Ïà¹ØÎĵµ£º
¾µäSQLÓï¾ä
1¡¢ËµÃ÷£º¸´ÖƱí(Ö»¸´Öƽṹ,Ô´±íÃû£ºa бíÃû£ºb) (Access¿ÉÓÃ)
·¨Ò»£ºselect * into b from a where 1<>1
//a±ØÐëÊÇÒѾ´æÔÚµÄ±í£¬µ«ÊÇb¿ÉÒÔ²»´æÔÚ£¬µ±b²»´æÔÚʱ£¬ÏµÍ³»á×Ô¼º´´½¨±íb,¸Ã·½·¨Ö»»á¸´ÖƱíµÄ½á¹¹£¬¶ø²»»á¸´ÖƱíµÄÊý¾Ý
·¨¶þ£ºselect top 0 * int ......
--µÚÒ»²½
--ÔÚmaster¿âÖн¨Á¢Ò»¸ö±¸·ÝÊý¾Ý¿âµÄ´æ´¢¹ý³Ì.
USE master
GO
CREATE PROC p
@db_name sysname, --Êý¾Ý¿âÃû
@bk_path NVARCHAR(1024) --±¸·ÝÎļþµÄ·¾¶
A ......
SQL:
using System.Data.SqlClient;
string sql = "server=.;uid=sa;pwd=;database=tablename;";
ACCESS:
using System.Data.OleDb;
string sql = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=" + HttpRuntime.AppDomainAppPath + "//App_Data//db.mdb";
HttpRuntime.AppDomainAppPath Ϊ¸ùĿ¼
......
SQL :Structured Query Language½á¹¹»¯²éѯÓïÑÔ
1.Select [Predicate] *(filed) from table/view Where ... Group by ... Having... Order by ... With ...
Predicate£º°üÀ¨all/Distinct/Distinctrow/Top£¬ÏÞÖÆ²éѯ½á¹û£»
As¿ÉÒÔÃüÃû±ðÃû£»
Where ... Ö¸¶¨Ä³Ð©Ìõ¼þ£¬½«ËùÓ ......
×î½üºÜ棬ÓиöÏîÄ¿ÂíÉÏÒªÕб꣬һ¸öÏîÄ¿µÈ׏¤£¬Èô¸ÉËöËéµÄʽøÐÐÖУ¬ÓÐÒ»¶Îʱ¼äû¸üÐÂЩÓÐÓªÑøµÄ¶«Î÷ÁË
˵¸öÌâÍâ»°ÏÈ¡£
½ñÌ쿪»ú×¼±¸°Ñ×òÌìµÄ¶«Î÷debugһϣ¬ºÜϰ¹ßµØÓÒ¼üÏîÄ¿µÄÆô¶¯Îļþ¿ªÊ¼debug£¬»úÆ÷ͻȻÀ¶ÆÁÖØÆô¡£¿ªÊ¼ÒÔΪÓÖÊÇÄÚ´æÔÚ͵͵³¬Æµ£¬¼ì²éÁËÒ»ÏÂbios£¬·¢ÏÖûʲôÎÊÌ⣬ҲûÔõôÔÚÒ⣬ËíÖØÐ¿ªÆôvs2008¼ÌÐø ......