SQLServer ´æ´¢¹ý³Ì¼ò½éÓëʹÓ÷½·¨
Sql ServerµÄ´æ´¢¹ý³ÌÊÇÒ»¸ö±»ÃüÃûµÄ´æ´¢ÔÚ·þÎñÆ÷ÉϵÄTransacation-SqlÓï¾ä¼¯ºÏ,ÊÇ·â×°ÖØ¸´ÐÔ¹¤×÷µÄÒ»ÖÖ·½·¨,ËüÖ§³ÖÓû§ÉùÃ÷µÄ±äÁ¿¡¢Ìõ¼þÖ´ÐÐºÍÆäËûÇ¿´óµÄ±à³Ì¹¦ÄÜ¡£
´æ´¢¹ý³ÌÏà¶ÔÓÚÆäËûµÄÊý¾Ý¿â·ÃÎÊ·½·¨ÓÐÒÔϵÄÓŵ㣺
£¨1£©Öظ´Ê¹Óᣴ洢¹ý³Ì¿ÉÒÔÖØ¸´Ê¹Ó㬴Ӷø¿ÉÒÔ¼õÉÙÊý¾Ý¿â¿ª·¢ÈËÔ±µÄ¹¤×÷Á¿¡£
£¨2£©Ìá¸ßÐÔÄÜ¡£´æ´¢¹ý³ÌÔÚ´´½¨µÄʱºò¾Í½øÐÐÁ˱àÒ룬½«À´Ê¹ÓõÄʱºò²»ÓÃÔÙÖØÐ±àÒë¡£Ò»°ãµÄSQLÓï¾äÿִÐÐÒ»´Î¾ÍÐèÒª±àÒëÒ»´Î£¬ËùÒÔʹÓô洢¹ý³ÌÌá¸ßÁËЧÂÊ¡£
£¨3£©¼õÉÙÍøÂçÁ÷Á¿¡£´æ´¢¹ý³ÌλÓÚ·þÎñÆ÷ÉÏ£¬µ÷ÓõÄʱºòÖ»ÐèÒª´«µÝ´æ´¢¹ý³ÌµÄÃû³ÆÒÔ¼°²ÎÊý¾Í¿ÉÒÔÁË£¬Òò´Ë½µµÍÁËÍøÂç´«ÊäµÄÊý¾ÝÁ¿¡£
£¨4£©°²È«ÐÔ¡£²ÎÊý»¯µÄ´æ´¢¹ý³Ì¿ÉÒÔ·ÀÖ¹SQL×¢ÈëʽµÄ¹¥»÷£¬¶øÇÒ¿ÉÒÔ½«Grant¡¢DenyÒÔ¼°RevokeȨÏÞÓ¦ÓÃÓÚ´æ´¢¹ý³Ì¡£
´æ´¢¹ý³ÌÒ»¹²·ÖΪÁËÈýÀࣺÓû§¶¨ÒåµÄ´æ´¢¹ý³Ì¡¢À©Õ¹´æ´¢¹ý³ÌÒÔ¼°ÏµÍ³´æ´¢¹ý³Ì¡£
ÆäÖУ¬Óû§¶¨ÒåµÄ´æ´¢¹ý³ÌÓÖ·ÖΪTransaction-SQLºÍCLRÁ½ÖÖÀàÐÍ¡£
Transaction-SQL ´æ´¢¹ý³ÌÊÇÖ¸±£´æµÄTransaction-SQLÓï¾ä¼¯ºÏ£¬¿ÉÒÔ½ÓÊܺͷµ»ØÓû§ÌṩµÄ²ÎÊý¡£
CLR´æ´¢¹ý³ÌÊÇÖ¸¶Ô.Net Framework¹«¹²ÓïÑÔÔËÐÐʱ(CLR)·½·¨µÄÒýÓ㬿ÉÒÔ½ÓÊܺͷµ»ØÓû§ÌṩµÄ²ÎÊý¡£ËûÃÇÔÚ.Net Framework³ÌÐò¼¯ÖÐÊÇ×÷ΪÀàµÄ¹«¹²¾²Ì¬·½·¨ÊµÏֵġ££¨
±¾ÎľͲ»×÷½éÉÜÁË£©
´´½¨´æ´¢¹ý³ÌµÄÓï¾äÈçÏ£º
Code
CREATE
{
PROC
|
PROCEDURE
}
[
schema_name.
]
procedure_name
[
; number
]
[
{ @parameter [ type_schema_name.
]
data_type }
[
VARYING
]
[
= default&n
Ïà¹ØÎĵµ£º
1¡¢´´½¨Êý¾Ý¿âtestdb
2¡¢´´½¨±ítest
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[test](
[id] [nchar](10) COLLATE Chinese_PRC_CI_AS NULL,
[name] [nchar](10) COLLATE Chinese_PRC_CI_AS NULL,
[sex] [bit] NULL
) ON [PRIMARY]
3¡¢´´½¨Êý¾Ý¿âdb
......
ÔÚÓëÊý¾Ý¿â´ò½»µÀµÄ¹¤×÷ÖÐʱ³£»áÅöµ½Ò»Ð©Êý¾Ý¿âµÄ´íÎó£¬Õâ¾ÍÉæ¼°µ½ÁËÐÞ¸´µÄ¹ý³Ì£¬ÒÔÏÂ֪ʶµã¶¼ÊÇ´ÓÍøÉÏÊÕ¼¯¶øÀ´:
1¡¢dbcc checkdb
Õâ¸öÃüÁî¿ÖÅÂÊÇÎÒÃÇ×î³£ÓõÄÁË£¬´ø¼ì²éºÍÐÞ¸´¹¦ÄÜ
Óï·¨¸ñʽ£º
DBCC CHECKDB
[
[ ( database_name | database_id | 0
[ , NOINDEX
| , { REPAIR_ALLOW_DATA_LOS ......
ÊÂÎñµÄ¹¦ÄÜÔÚsqlserverÖÐÓÉÀ´ÒѾã¬ÒòΪ×î½üÔÚ×öÒ»¸öÊý¾Ýͬ²½·½°¸£¬ËùÒÔÓлú»áÔÙ´ÎÑо¿Ò»ÏÂËüÒÔ¼°¿ìÕյȣ¬·¢ÏÖ»¹ÊÇÓкܶ಻´íµÄ¹¦Äܺ͸ĽøµÄ¡£ÕâÀïÒÔsqlserver2008µÄÊÂÎñ·¢²¼¹¦ÄÜΪÀý£¬¶Ô·¢²¼¶©Ôĵķ½Ê½¼òÒª½éÉÜһϲÙ×÷Á÷³Ì£¬Ò»·½Ãæ×ö¸ö×ܽᱸ·Ý£¬Ò»·½ÃæÓë´ó¼Ò½øÐÐһϷÖÏíºÍ½»Á÷¡£·Ñ»°¾Í² ......
ÍÐÁ˼¸ÌìµÄÄÑÌ⣬ÖÕÓÚ½â¾öÁË¡£ÌØ·ÖÏíÒ»ÏÂ
ÒÔÏÂÊÇÒ»¸ö´æ´¢¹ý³Ì
CREATE PROCEDURE deleteAccountAll
@id int
AS
SET XACT_abort ON
BEGIN DISTRIBUTED TRAN
delete from AccountCapital where accountid = @id
delete from logininfo where username = @id
delete from CapitalRecord where accountid ......
Óα꣨Cursor£©ÊÇ´¦ÀíÊý¾ÝµÄÒ»ÖÖ·½·¨£¬ÎªÁ˲鿴»òÕß´¦Àí½á¹û¼¯ÖеÄÊý¾Ý£¬ÓαêÌṩÁËÔÚ½á¹û¼¯ÖÐÒ»´ÎÒÔÐлòÕß¶àÐÐǰ½ø»òÏòºóä¯ÀÀÊý¾ÝµÄÄÜÁ¦¡£ÎÒÃÇ¿ÉÒÔ°ÑÓα굱×÷Ò»¸öÖ¸Õ룬Ëü¿ÉÒÔÖ¸¶¨½á¹ûÖеÄÈκÎλÖã¬È»ºóÔÊÐíÓû§¶ÔÖ¸¶¨Î»ÖõÄÊý¾Ý½øÐд¦Àí¡£
1.ÓαêµÄ×é³É
......