Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

¡¾×ª¡¿¹ýÂËSQLÓû§µÇ¼(SQL2005)

×¢£º¸ßΣ£¡
ÓÐʱºò£¬¿ª·¢ÈËÔ±ÔÚÓ¦Ó÷þÎñÆ÷ÉÏ£¬ÄÜÄõ½Êý¾Ý¿âµÄÕʺźÍÃÜÂë
Èç¹ûÏëÈÃDBAËÀµô£¬Ì«¼òµ¥ÁË£¨¹þ¹þ¹þ¡«¡«£¬ÓÐÈËÔÚ¼éЦ¡«¡«£¡£©
ËùÒÔDBA°¡£¬µÃ´¦´¦Ð¡ÐÄ¡£¡£
£¨ÓÐÈË˵»°ÁË£ºÄãɵX°É£¬Ó¦ÓóÌÐò·þÎñÆ÷ÔõôÄÜÈÿª·¢ÈËÔ±Ëæ±ãÉÏ£¿£¡£©
ºÙ£¬¾ÍÊÇÉÏÁË£¬ÄãDBAÄÜÕ¦Ñù£¿
Èç¹û¼¼ÊõÉÏʹÊý¾Ý¿âÕʺÅÖ»ÄÜ´Óij¸ö»úÆ÷£¨»òij¸öIPµØÖ·£©ÓÃij¸öÓ¦ÓóÌÐòµÇ¼£¬Æñ²»ÊǺÜˬ£¿
°¥£¬¿ÉϧÔÚMS¹Ù·½Ã»ÓÐÕÒµ½½â¾ö·½·¨......
½ñÌìÔÚ Ð¡¹ÖÎï(¾ÍÊÇ´«ËµÖеÄС¹ÖÎï) µÄ´óÁ¦°ïÖúÏ£¬´ÓSQL2005ÖÐÕÒµ½Ò»¸ö·½·¨£¨·Ç¹Ù·½£©£¬ÄÜʵÏÖÀàËÆ¹¦ÄÜ¡£
ÃâÔðÉùÃ÷£º¸Ã½Å±¾Ã»Óеõ½Å£XÈËÊ¿µÄÈϿɣ¬Íæ´óÁË£¬¸ú°³Î޹ء«¡«£¡
use msdb --ÎÒÊÇÔÚmsdbÀï²âÊԵ쬲»½¨ÒéÔÚϵͳ¿âÀïÂҸ㣬ºó¹û×Ô¸º
--1.´´½¨±í
CREATE TABLE [dbo].[UserFiltration](
[ID] [int] IDENTITY(1,1) NOT NULL primary key,
[username] [varchar](100) NOT NULL DEFAULT ('*'),
[programname] [varchar](100) NOT NULL DEFAULT ('*'),
[IP] [varchar](100) NOT NULL DEFAULT ('*'),
[hostname] [varchar](100) NOT NULL DEFAULT ('*'),
[Comment] [varchar](1000) NOT NULL DEFAULT (''),
[Ctime] [datetime] NOT NULL DEFAULT (getdate()),
[Utime] [datetime] NULL
)
go
--2.Ìí¼Ó¹æÔò
insert into UserFiltration(username,programname,ip,hostname)
select '*','*','*',host_name() --±¾»úµÇ¼²»ÊÜÏÞÖÆ
go
--3.Ìí¼ÓÓû§¶ÁȡȨÏÞ
grant select on UserFiltration to public
go
--4.Ìí¼Ó´¥·¢Æ÷
create TRIGGER [tr_LoginCheck]
ON ALL SERVER
FOR LOGON
AS
set nocount on
if not exists(select 1 from msdb.dbo.UserFiltration
    where suser_name() = case when username = '*' then suser_name() else username end
      and app_name() like case when programname = '*' then app_name() else programname end
      and EVENTDATA().value('(/EVENT_INSTANCE/ClientHost)[1]', 'varchar(128)') = case when IP = '*' then EVENTDATA().value('(/EVENT_INSTANCE/ClientHost)[1]', 'varchar(128)') else IP end
      and host_name() = case when hostname = '*' then host_name() else hostname end
    )
rollback tran
--5.н¨Ò»¸öµÇ¼
sp_addlogin 'test01','


Ïà¹ØÎĵµ£º

SQLSERVER SQLÐÔÄÜÓÅ»¯

1.Ñ¡Ôñ×îÓÐЧÂʵıíÃû˳Ðò(Ö»ÔÚ»ùÓÚ¹æÔòµÄÓÅ»¯Æ÷ÖÐÓÐЧ)¡¡¡¡
¡¡¡¡ SQLSERVERµÄ½âÎöÆ÷°´ÕÕ´ÓÓÒµ½×óµÄ˳Ðò´¦Àífrom×Ó¾äÖеıíÃû£¬Òò´Ëfrom×Ó¾äÖÐдÔÚ×îºóµÄ±í£¨»ù´¡±ídriving table£©½«±»×îÏÈ´¦Àí£¬ÔÚfrom×Ó¾äÖаüº¬¶à¸ö±íµÄÇé¿öÏ£¬±ØÐëÑ¡Ôñ¼Ç¼ÌõÊý×îÉٵıí×÷Ϊ»ù´¡±í£¬µ±SQLSERVER´¦Àí¶à¸ö±íʱ£¬»áÔËÓÃÅÅÐò¼°ºÏ²¢µÄ·½Ê½Á ......

sql½âÎö


SqlHelper ÀàʵÏÖÏêϸÐÅÏ¢
SqlHelper ÀàÓÃÓÚͨ¹ýÒ»×龲̬·½·¨À´·â×°Êý¾Ý·ÃÎʹ¦ÄÜ¡£¸ÃÀ಻Äܱ»¼Ì³Ð»òʵÀý»¯£¬Òò´Ë½«ÆäÉùÃ÷Ϊ°üº¬×¨Óù¹Ô캯ÊýµÄ²»¿É¼Ì³ÐÀà¡£
ÔÚ SqlHelper ÀàÖÐʵÏÖµÄÿÖÖ·½·¨¶¼ÌṩÁËÒ»×éÒ»ÖµÄÖØÔØ¡£ÕâÌṩÁËÒ»ÖֺܺõÄʹÓà SqlHelper ÀàÀ´Ö´ÐÐÃüÁîµÄģʽ£¬Í¬Ê±Îª¿ª·¢ÈËԱѡÔñ·ÃÎÊÊý¾ÝµÄ·½Ê½ÌṩÁ˱ØÒ ......

SQL 2000»ù´¡Ñ§Ï°(×Ô¼º×ܽá)

ÒÔÏÂΪ±¾ÈËÕ⼸ÌìÖØÐÂѧϰSQLSERVER2000µÄѧϰ±Ê¼Ç£¬Ä¿µÄÊÇÖØÐÂÈÏʶ¼°¹®¹Ì֪ʶµã£º
Ò»¡¢¼òµ¥µÄSELECTÓï¾äµÄÓï·¨ÈçÏ£º
SELECT |ALL|DISTINCT| <Ä¿±ê±í´ïʽ>|,<Ä¿±ê±í´ïʽ>|...
from<±í»òÊÓͼÃû>|,<±í»òÊÓͼÃû>|
[WHERE<Ìõ¼þ±í´ïʽ>]
[GROUP BY <ÁÐÃû1>|HAVING<Ìõ¼þ±í´ïʽ>| ......

sql¶à±íÁ¬½Ó²éѯ

inner join,full outer join,left join,right jion
ÄÚ²¿Á¬½Ó inner join Á½±í¶¼Âú×ãµÄ×éºÏ
full outer È«Á¬ Á½±íÏàͬµÄ×éºÏÔÚÒ»Æð£¬A±íÓУ¬B±íûÓеÄÊý¾Ý£¨ÏÔʾΪnull£©,ͬÑùB±íÓÐ
A±íûÓеÄÏÔʾΪ(null)
A±í left join  B±í ×óÁ¬,ÒÔA±íΪ»ù´¡£¬A±íµÄÈ«²¿Êý¾Ý£¬B±íÓеÄ×éºÏ¡£Ã»ÓеÄΪnull
A±í right join B±í ÓÒÁ ......

ÔÚsql serverÖйØÓÚÓαêcursorµÄʹÓÃ

--´Ë´¦Ê¹ÓÃpubs¿â
declare @myname varchar(50)
declare @fname varchar(20)
declare @lname varchar(20)
declare my_cursor cursor for
select fname,lname from employee order by emp_id
open my_cursor
fetch next from my_cursor into @fname,@lname
while @@fetch_status=0
begin
    set @ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ