sql server2005å®å
¨ç®¡çä¹ç¨æ·ãè§è²ãæ¶æ ä¸ æé
2008-12-04 16:47
--æå¼æ°æ®åº
Use databaseName
--å建è§è²
create role ProgramerRole
--ç¨äºå建表 åå¨è¿ç¨ è§å¾
grant create table,create procedure,create view to ProgramerRole
--executeç¨ä»¥æ§è¡åå¨è¿ç¨ï¼alterç¨ä»¥å建ãä¿®æ¹åå¨è¿ç¨åè§å¾ï¼
--并å¯ä»¥æ°å»ºç«è¡¨ï¼ä½ä¸è½ä¿®æ¹è¡¨,ä½ä¹å¯ä»¥å é¤è¡¨å对表æ¹åäº
grant select,insert,execute,alter on schema::dbo to ProgramerRole
--ç¨äºå
许ç¨æ·æ¥ç æ¾ç¤ºä¼°è®¡çæ§è¡è®¡å(081205)
grant showplan to ProgramerRole
--å建ç»å½è´¦å·
--create login username with password='password'
--å建æ°æ®åºç¨æ·
create user username for login username
--å°ç¨æ·TestUseræ·»å å°TestRoleè§è²ä¸
exec sp_addrolemember 'ProgramerRole','username '
--æ§è¡Sql Server Profileræ¯æå¡å¨çº§æéï¼æ以å¨masteråºä¸ææ
USE master;grant alter trace to auto;
注ï¼æ®åºå¼æä¼å顾é®å¿
é¡»ç±å
·æç³»ç»ç®¡çåæéçç¨æ·è¿è¡åå§åãå¨å
·æç³»ç»ç®¡çåæéçç¨æ·å¯¹æ°æ®åºå¼æä¼å顾é®è¿è¡åå§åä¹åï¼ä»»ä½æ¯ db_owner åºå®æ°æ®åºè§è²æåçç¨æ·ï¼é½å¯ä»¥ä½¿ç¨æ°æ®åºå¼æä¼å顾é®æ¥ä¼åä»ä»¬æ¥æçæ°æ®åºä¸ç表ã
详ä¼åç©çæ°æ®åºè®¾è®¡
http://msdn.microsoft.com/zh-cn/library/ms191531(SQL.90).aspx
åèèµæï¼
ç¨æ·æ¶æå离ï¼
http://msdn.microsoft.com/zh-cn/library/ms190387(SQL.90).aspx
æ°æ®åºæ¶ææ¯ä¸ä¸ªç¬ç«äºæ°æ®åºç¨æ·çééå¤å½å空é´ãæ¨å¯ä»¥å°æ¶æè§ä¸ºå¯¹è±¡ç容å¨
主ä½ï¼
http://msdn.microsoft.com/zh-cn/library/ms181127(SQL.90).aspx
æ¯å¯ä»¥è¯·æ± SQL Server èµæºçå®ä½
Windows 级å«ç主ä½
Windows åç»å½å
Windows æ¬å°ç»å½å
SQL Server 级ç主ä½
SQL Server ç»å½å
æ°æ®åºçº§ç主ä½
æ°æ®åºç¨æ·
æ°æ®åºè§è²
åºç¨ç¨åºè§è²
å®å
¨å¯¹è±¡ï¼
http://msdn.microsoft.com/zh-cn/library/ms190401(SQL.90).aspx
å®å
¨å¯¹è±¡æ¯ SQL Server æ°æ®åºå¼æ ææç³»ç»æ§å¶å¯¹å
¶è¿è¡è®¿é®çèµæº
å®å
¨å¯¹è±¡èå´ææå¡å¨ãæ°æ®åºåæ¶æ
å®å
¨å¯¹è±¡èå´ï¼æå¡å¨å
å«ä»¥ä¸å®å
¨å¯¹è±¡ï¼
端ç¹
ç»å½å¸æ·
æ°æ®åº
å®å
¨å¯¹è±¡èå´ï¼æ°æ®åºå
å«ä»¥ä¸å®å
¨å¯¹è±¡ï¼
ç¨æ·
è§è²
åºç¨ç¨åºè§è²
ç¨åºé
æ¶æ¯ç±»å
è·¯ç±
æå¡
è¿ç¨æå¡ç»å®
å
¨æç®å½
è¯ä¹¦
é对称å¯é¥
对称å¯é¥
约å®
æ¶æ
å®å
¨å¯¹è±¡èå´ï¼æ¶æå
å«ä»¥ä¸å®å
¨å¯¹è±¡ï¼
ç±»å
XML æ¶æéå
对象
对象 ä¸é¢æ¯å¯¹è±¡ç±»çæåï¼
èå
约æ
å½æ°
è¿ç¨
éå
ç»è®¡ä¿¡æ¯
åä¹è¯
表
è§å¾
æ¶æï¼
http://msdn.microsoft.com/zh-cn/library/ms365789(SQL.90).aspx
æ¶ææ¯æå
å«è¡¨ãè§å¾ãè¿ç¨çç容å¨ãå®ä½äºæ°æ®åºå
é¨ï¼èæ°æ®åºä½äºæå¡å¨å
é¨
ç¹å®æ¶æä¸çæ¯ä¸ªå®å
¨å¯¹è±¡é½å¿
é¡»æå¯ä¸çå称ãæ¶æä¸å®å
¨å¯¹è±¡çå®å
¨æå®å称å
æ¬æ¤å®å
¨å¯¹è±¡æå¨çæ¶æçå称ãå æ¤ï¼æ¶æä¹æ¯å½å空é´
æéï¼
http://msdn.microsoft.com/zh-cn/library/ms190387(SQL.90).aspx
æ¯ä¸ª SQL Server 2005 å®å
¨å¯¹è±¡é½æå¯ä»¥æäºä¸»ä½çå
³èæé
æ°æ®åºçº§å«çè§è²ï¼
http://msdn.microsoft.com/zh-cn/library/ms189121(SQL.90).aspx
åºå®æ°æ®åºè§è²æ¯å¨æ°æ®åºçº§å«å®ä¹çï¼å¹¶ä¸åå¨äºæ¯ä¸ªæ°æ®åºä¸ãdb_owner å db_securityadmin æ°æ®åºè§è²çæåå¯ä»¥ç®¡çåºå®æ°æ®åºè§è²æå身份ï¼ä½æ¯ï¼åªæ db_owner æ°æ®åºçæåå¯ä»¥å db_owner åºå®æ°æ®åºè§è²ä¸æ·»å æåã
æ¯ä¸ªæ°æ®åºç¨æ·é½å±äº public æ°æ®åºè§è²ãå½å°æªå¯¹æ个ç¨æ·æäºææç»å¯¹å®å
¨å¯¹è±¡çç¹å®æéæ¶ï¼å该ç¨æ·å°ç»§æ¿æäºè¯¥å®å
¨å¯¹è±¡ç public è§è²çæé
æå¡å¨çº§å«è§è²ï¼
http://msdn.microsoft.com/zh-cn/library/ms188659(SQL.90).aspx
åºå®æå¡å¨è§è²å¨å
¶ä½ç¨åå
å±äºæå¡å¨èå´ãåºå®æå¡å¨è§è²çæ¯ä¸ªæåé½å¯ä»¥åå
¶æå±è§è²æ·»å å
¶ä»ç»å½åã
GRANT æ¶ææéï¼
http://msdn.microsoft.com/zh-cn/library/ms187940(SQL.90).aspx
å¦ä½é
ç½®ç¨æ·ä»¥å建å管ç SQL Server 代çä½ä¸
http://msdn.microsoft.com/zh-cn/library/ms187901.aspx è¥è¦é
ç½®ç¨æ·ä»¥å建ææ§è¡ Microsoft SQL Server 代çä½ä¸ï¼å¿
é¡»å
å°æ个ç°æ SQL Server ç»å½åæ msdb è§è²æ·»å å° msdb æ°æ®åºä¸çä¸å SQL Server 代çåºå®æ°æ®åºè§è²ä¹ä¸ï¼SQLAgentUserRoleãSQLAgentReaderRole æ SQLAgentOperatorRoleã
é»è®¤æ
åµä¸ï¼è¿äºæ°æ®åºè§è²çæåå¯ä»¥å建åèªçä½ä¸æ¥éª¤ï¼è¿äºä½ä¸æ¥éª¤ä¸æ§è¡å
¶ä»ä½ä¸æ¥éª¤ãå¦æè¿äºé管çç¨æ·è¦è¿è¡é£äºæ§è¡å
¶ä»ä½ä¸æ¥éª¤ç±»åï¼ä¾å¦ï¼SSIS å
ï¼çä½ä¸ï¼å®ä»¬éè¦å¯¹ä»£çå¸æ·å
·æ访é®æéãsysadmin åºå®æå¡å¨è§è²çæææåé½æå建ãä¿®æ¹åå é¤ä»£çå¸æ·çæé
为å
·ä½çç¨æ·è®¾ç½®å
·ä½ç访é®æé æ¶è
use ä½ çåºå
go
--æ°å¢ç¨æ·
exec sp_addlogin 'test' --æ·»å ç»å½
exec sp_grantdbaccess N'test' --使å
¶æ为å½åæ°æ®åºçåæ³ç¨æ·
exec sp_addrolemember N'db_owner', N'test' --æäºå¯¹èªå·±æ°æ®åºçæææé
--è¿æ ·å建çç¨æ·å°±åªè½è®¿é®èªå·±çæ°æ®åº,åæ°æ®åºä¸å
å«äºguestç¨æ·çå
Œ
±è¡¨
go
--å é¤æµè¯ç¨æ·
exec sp_revokedbaccess N'test' --移é¤å¯¹æ°æ®åºç访é®æé
exec sp_droplogin N'test' --å é¤ç»å½
å¦æå¨ä¼ä¸ç®¡çå¨ä¸å建çè¯,å°±ç¨:
ä¼ä¸ç®¡çå¨--å®å
¨æ§--å³é®ç»å½--æ°å»ºç»å½
常è§é¡¹
--å称ä¸è¾å
¥ç¨æ·å
--身份éªè¯æ¹å¼æ ¹æ®ä½ çéè¦éæ©(å¦ææ¯ä½¿ç¨windows身份éªè¯,åè¦å
å¨æä½ç³»ç»çç¨æ·ä¸æ°å»ºç¨æ·)
--é»è®¤è®¾ç½®ä¸,éæ©ä½ æ°å»ºçç¨æ·è¦è®¿é®çæ°æ®åºå
æå¡å¨è§è²é¡¹
è¿ä¸ªéé¢ä¸è¦éæ©ä»»ä½ä¸è¥¿
æ°æ®åºè®¿é®é¡¹
å¾éä½ å建çç¨æ·éè¦è®¿é®çæ°æ®åºå
æ°æ®åºè§è²ä¸å
许,å¾é"public","db_ownew"
ç¡®å®,è¿æ ·å»ºå¥½çç¨æ·ä¸ä¸é¢è¯å¥å»ºç«çç¨æ·ä¸æ ·
---------------------------------------------------------------------------
æåä¸æ¥,为å
·ä½çç¨æ·è®¾ç½®å
·ä½ç访é®æé,è¿ä¸ªå¯ä»¥åèä¸é¢çæç®ç¤ºä¾:
--æ·»å åªå
许访é®æå®è¡¨çç¨æ·:
exec sp_addlogin 'ç¨æ·å','å¯ç ','é»è®¤æ°æ®åºå'
--æ·»å å°æ°æ®åº
exec sp_grantdbaccess 'ç¨æ·å'
--åé
æ´è¡¨æé
GRANT SELECT , INSERT , UPDATE , DELETE ON table1 TO [ç¨æ·å]
--åé
æéå°å
·ä½çå
GRANT SELECT , UPDATE ON table1(id,AA) TO [ç¨æ·å]