??xml version="1.0" encoding="utf-8" standalone="yes"?> 使用DELETE 命o或UPDATE 命oҎ据库q行更新时一ơ只能操作一个表Q这会带来数据库的数据不一致的问题。例如:企业取消了后勤部Q需要将‘后勤部’从department表中删除Q要修改department 表,而employee 表中的部门编号与后勤部相对应的员工也应删除。因此,两个表都需要修Q改q种修改只能通过两条DELETE 语句q行。假讑勤部~号为?012?/P>
W一条DELETE 语句修改department ?BR>delete from department
@savepoint_variable
注意Q?/STRONG>一个表臛_有一列,但最多不过1024个列?每个数据库中最多可以创?00万个表?表在存储时用的计量单位是盘区(ExtentQ。一个盘区分?个数据页Q每?KB字节。在创徏新表Ӟ会分配给它一个初始只Z个盘区的存储I间。当增加表的存储I间Ӟ以盘Zؓ单位增加? 7.1.4 创徏临时?/SPAN> 6.9.1 Master 数据?/SPAN>
q行l果如下Q?BR>Successfully detached database 'mytest1'. Q?Q?在操作系l的文g夹窗口中用剪切或_脓的方式直接将与数据库相关的操作系l文件移动到E:\ SQL Data 2000 Server 目录下。即D:\SQL Data\mytest_Data.MDF 文g和D:\SQLData\mytest_Log.LDF 文gUdE:\ SQL Data 2000 Q?Q?在SQL Server Query Analyzer 中运行Sp_attach_db pȝ存储q程Q附加文件到mytest 数据库。命令语句如下: q行l果如下Q?BR>Successfully attached database 'mytest'. 删除数据库一定要慎重Q因为删除数据库后,与此数据库有兌的数据库文g和事务日志文仉会被删,除存储在pȝ数据库中的关于该数据库的所有信息也会被删除?BR> 注意Q?/STRONG>当数据库处于以下状态时不能被删除:数据库正在用;数据库正在被恢复Q数据库包含用于复制的已l出版的对象?BR>
SQL 数据库中的事?/STRONG>
作者:unknown 更新旉Q?005-03-17
11.4.1 事务的由?/SPAN>
where dept_id = ?012?BR>W二条DELETE 语句修改employee ?BR>delete from employee
where dept_id = ?012?BR>
在执行第一条DELETE 语句后,数据库中的数据已处于不一致的状态,因ؓ此时已经没有‘后勤部’了Q但employee 表中仍然保存着属于后勤部的员工记录。只有执行了W二条DELETE 语句后数据才重新处于一致状态。但是,如果执行完第一条语句后Q计机H然出现故障Q无法再l箋执行W二条DELETE 语句Q则数据库中的数据将处于永远不一致的状态。因此,必须保证q两条DELETE 语句同时执行。ؓ解决cM的问题,数据库系l通常都引入了事务QTransactionQ?的概c?BR>
11.4.2 事务的概?/SPAN>
事务是一U机Ӟ是一个操作序列,它包含了一l数据库操作命oQ所有的命o作ؓ一个整体一起向pȝ提交或撤消操作请求,卌么都执行Q要么都不执行。因此,事务是一个不可分割的工作逻辑单元Q类g操作pȝ中的原语。在数据库系l上执行q发操作Ӟ事务是作为最的控制单元来用的?BR>
通常在程序中用BEGIN TRANSACTION 命o来标识一个事务的开始,用COMMITTRANSACTION 命o标识事务l束。这两个命o之间的所有语句被视ؓ一体,只有执行到COMMIT TRANSACTION 命oӞ事务中对数据库的更新操作才算认。和BEGIN…END 命ocMQ这两个命o也可以进行嵌套,即事务可以嵌套执行。这两个命o的语法如下:
BEGIN TRAN[SACTION] [transaction_name | @tran_name_variable]
COMMIT [ TRAN[SACTION] [transaction_name | @tran_name_variable] ]
其中BEGIN TRANSACTION 可以~写为BEGIN TRAN?COMMIT TRANSACTION可以~写为COMMIT TRAN 或COMMIT?
指定事务的名U。只有前32 个字W会被系l识别?
用变量来指定事务的名Uͼ变量只能声明为CHAR?VARCHAR?NCHAR ?NVARCHAR cd?
11.4.3 事务回滚
事务回滚QTransaction RollbackQ?是指当事务中的某一语句执行p|Ӟ对数据库的操作恢复C务执行前或某个指定位|?BR>事务回滚使用ROLLBACK TRANSACTION 命oQ其语法如下Q?BR>ROLLBACK [TRAN[SACTION] [transaction_name | @tran_name_variable
| savepoint_name | @savepoint_variable] ]
其中savepoint_name 和@savepoint_variable 参数用于指定回滚到某一指定位置?BR>如果要让事务回滚到指定位|,则需要在事务中设定保存点QSave PointQ。所谓保存点是指定其所在位|之前的事务语句Q不能回滚的语句x语句前面的操作被视ؓ有效?BR>
其语法如下:
SAVE TRAN[SACTION] {savepoint_name | @savepoint_variable}
各参数说明如下:
avepoint_name
指定保存点的名称。同事务的名UCP只有?2 个字W会被系l识别?
用变量来指定保存点的名称。变量只能声明ؓCHAR?VARCHAR?NCHAR 或NVARCHAR cd?BR>
注意Q?/STRONG>如果不指定回滚的事务名称或保存点Q则ROLLBACK TRANSACTION命o会将事务回滚C务执行前Q如果事务是嵌套的、则会回滚到最靠近的BEGIN TRANSACTION命o前?/P>
]]>
实例数据?/STRONG>
作者:unknown 更新旉Q?005-03-17
SQL Server 2000 有两个实例数据库QSample Databases pubsQ:和Northwind。与pȝ数据库一P实例数据库的文g也存储在Microsoft SQL Server Q默认安装目录)?MSSQL 子目录的Data 文g夹中。实例数据库所包含的文件如?-2 所C:
pubs 和Northwind 数据库可以作为SQL Server 的学习工PSQL Server Books Online 中的实例基本上都是基于这两个数据库来讲解的。其中pubs 实例数据库存储了一个虚构的图书出版公司的基本情cNorthwind 实例数据库包含了一个公司的销售数据。此公司名ؓNorthwind 商hQNorthwind TradersQ,是一个虚构的公司Q从事食品的q出口业务?
如果改变了实例数据库的内Ҏ不小心删除了实例数据库,惛_其回复到初始状态,可以用SQL Server Analyzer q行“安装目录\MSSQL\Install”中的Instpubs.sql 或Instnwnd.sql E序来重建pubs 或Northwind 数据库?BR>
本章结
本章介绍了数据库的创Z理知识以及pȝ数据库和实例数据库的基本情况。强大的数据库管理功能是SQL Server 的特点,掌握本章内容是对数据库管理员的基本要求?
]]>
创徏数据库表
作者:unknown 更新旉Q?005-03-17
在用数据库的过E中,接触最多的是数据库中的表。表是数据存储的地方。是数据库中最重要的部分,理好表也就理好了数据库。本章将介绍如何创徏和管理数据库表?BR>
表是p和列l成的。创的过E主要就是定义表的列的过E,为此Q应先了解表的列的属性?BR>
7.1.1 列的属?/SPAN>
表的列名在同一个表中具有惟一性,同一列的数据属于同一U数据类型。除了用列名和数据类型来指定列的属性外Q还可以定义其它属性:NULL 或NOT NULL 属性和IDENTITY 属性?BR>
Q?Q?NULL 或NOT NULL
如果表的某一列被指定hNULL 属性,那么允许在插入数据时省略该列的倹{反之,如果表的某一列被指定hNOT NULL 属性,那么׃允许在没有指定列~省值的情况下插入省略该列值的数据行。在SQL Server 中,列的~省属性是NOT NULL。要讄~省属性ؓNULL 或NOT NULLQ可以在Enterprise Manager 中修Ҏ据库属性选项中的“ANSI null default”ؓ真或假。也可以使用如下两种语句来设定:
Q?Q?IDENTITY
IDENTITY 属性可以表的列包含系l自动生成的数字。这U数字在表中可以惟一标识表的每一行,卌中的每一行数据在指定为IDENTITY 属性的列上的数字均不相同。指定了IDENTITY 属性的列称为IDENTITY 列。当用IDENTITY 属性定义一个列Ӟ可以指定一个初始值和一个增量。插入数据到含有IDENTITY 列的表中Ӟ初始值在插入W一行数据时使用Q以后就由SQL Server Ҏ上一ơ用的IDENTITY 值加上增量得到新的IDENTITY倹{如果不指定初始值和增量|则其~省值均??BR> IDENTITY 属性适用于INT?SMALLINT?TINYINT?DECIMAL QP,0Q、NQ:Q:Q:Q?BR>UMERIC QP,0Q数据类型的列?BR>注意Q?/STRONG>一个列不能同时hNULL属性和IDENTITY属性,只能二者选其一?BR>
7.1.2 用CREATE TABLE 命o创徏?/SPAN>
用CREATE TABLE 命o创徏表快捗明了。其语法如下Q?BR>CREATE TABLE [database_name.[owner].| owner.] table_name
( {<column_definition> | column_name AS computed_column_expression |
<table_constraint>} [,...n] )
[ON {filegroup | DEFAULT} ]
[TEXTIMAGE_ON {filegroup | DEFAULT} ]
<column_definition> ::= { column_name data_type }
[ [ DEFAULT constant_expression ]
| [ IDENTITY [(seed, increment ) [NOT FOR REPLICATION] ] ] ]
[ ROWGUIDCOL ]
[ COLLATE < collation_name > ]
[ <column_constraint>] [ ...n]
各参数说明如?
指定新徏的表属于哪个数据库。如果不指定数据库名Q就会将所创徏的表存放在当前数据库中?
指定数据库所有者的用户名?
指定新徏的表的名Uͼ最长不过128 个字W?BR>Ҏ据库来说Qdatabase_name.owner_name.object_name 应该是惟一的?
指定新徏的表的名Uͼ最长不过128 个字W?BR>Ҏ据库来说Qdatabase_name.owner_name.object_name 应该是惟一的?
指定计算列(Computed columnQ的列值的表达式。表辑ּ可以是列名、常量、变量、函数等或它们的l合。所谓计列是一个虚拟的列,它的值ƈ不实际存储在表中Q而是通过对同一个表中其它列q行某种计算而得到的l果。例如:员工信息表中存储了员工的雇䄦日期Q那么员工的工龄可以通过表达式“雇佣日期当前日期”计出来,则工龄列可作ؓ一个计列?
指定存储表的文gl名。如果用了DEFAULT 选项或省略了ON 子句Q则新徏的表会存储在默认文gl中?
指定TEXT、NTEXT?和IMAGE 列的数据存储的文件组。如果无此子句,q些cd的数据就和表一起存储在相同的文件组中?
指定列的数据cd
指定列的~省倹{当输入数据Ӟ如果用户没有指定列|pȝ׃用设定的~省g为列倹{如果该列没有指定缺省g允许NULL |则NULL 值就会作为缺省倹{其中缺省值可以ؓ常数、NULL 倹{SQL Server 内部函数Q如GETDATEQ)函数Q、NILADIC 函数{?
列缺省值的帔R表达式,可以Z个常量或pȝ函数或NULL?
指定列ؓIDENTITY 列。一个表中只能有一个IDENTITY 列?
指定IDENTITY 列的初始倹{?
指定IDENTITY 列的增量?
指定列的IDENTITY 属性在把从其它表中复制的数据插入到表中时不发生作用Q即不的生成列|使得复制的数据行保持原来的列倹{?
指定列ؓ全球惟一鉴别行号列(ROWGUIDCOL是Row Global Unique Identifier Column 的羃写)。此列的数据cd必须为UNIQUEIDENTIFIER cd。一个表中数据类型ؓUNIQUEIDENTIFIER 的列中只能有一个列被定义ؓROWGUIDCOL 列。ROWGUIDCOL 属性不会列值具有惟一性,也不会自动生成一个新的数值给插入的行。需要在INSERT 语句中用NEWIDQ)函数或指定列的缺省gؓNEWIDQ)函数?
指定列约束和表约束,我们在下一节中介绍其具体定义?BR>其余参数在后面的章节中逐步讲述?
7.1.3 用Enterprise Manager 创徏?/SPAN>
在Enterprise Manager 中创按以下步骤进行:
Q?Q?在要创徏表的数据库中选择“Tables?对象后,单击右键Q从快捷菜单中选择“New Table?选项Q或在工h中选择图标Q即会出现如?-1 所C的定义列对话框。在此可以是讑֮表的列名、数据类型、精度、缺省值等属性?BR>
Q?Q?单击?-1 工具栏中的保存按?IMG height=29 src="http://www.ddvip.net/database/mssql/index1/img/161.GIF" width=35>Q即出现如图7-2 所C的输入新徏表名的对话框?BR>
Q?Q?输入表名后单几ZOK”按钮,即会表保存到数据库中。然后图7-1 中工h双原来不可用的几个按钮变为可用,可以使用它们来设|表的其它信息,在以后的章节中将讲到它们的用?
可以用CREATE TABLE 命o创徏表局部的或全局作用的时表。其语法与创Z般表基本相同Q只是在局部时表的表名前要用符号?”,全局临时表的表名前要使用W号?#”以便与一般的表相区别。由于SQL Server 时表的表名存储到Tempdb数据库中sysobjects 表中Ӟ会自动在其后面添加一个系l生的12 位的数字后缀Q因此时表的表名最长只能指?16 个字W,以不过128 个字W的命名限制?BR>?-2 创徏一个局部时表test123
create table #test123 (
test_id smallint ,
test_name char(10) ,
) on [primary
]]>
数据库维护计?/STRONG>
作者:unknown 更新旉Q?005-03-17
数据库维护可以数据库保持运行在最佳状态。创建数据库l护计划可以让SQL Server有效地自动维护数据库Qؓ理员节省不时_也可以防止g误数据库的维护工作。创建数据库l护计划的过E如下:
Q?Q?在Enterprise Manager 中选择要创建维护计划的数据库,单击右键Q从快捷菜单中选择“所有Q务(All TasksQ”子菜单中的“Maintenance Plan Q维护计划)”菜单项Q则出现如图6-14 所C的Ƣ迎界面?BR>
Q?Q?单击“下一步”按钮,出现如图6-15 所C的选择数据库对话框。可以根据需要选择所要维护的数据库?BR>
Q?Q?单击“下一步”按钮,出现如图6-16 所C的更新数据最优化信息对话框。可以根据需要选择是否要对数据库的数据|索引做重整工作。单几ZChange”按钮,出现如图6-13 所C的~辑循环工作计划对话框?BR>
Q?Q?在图6-16 中单几Z下一步”按钮,出现如图6-17 所C的数据库完整性检查对话框。可以选择是否要对数据库做完整性测试,以便查找是否有因软g或硬仉误所造成的数据库错误?BR>
Q?Q?单击“下一步”按钮,出现如图6-18 所C的指定数据库备份计划对话框。可以选择是否数据库备䆾到磁带或盘。一般都选择数据库备䆾到硬盘?BR>
Q?Q?单击“下一步”按钮,出现如图6-19 所C的指定数据库备份文件存攄录对话框。可以选择数据库备䆾文g存放到指定的盘目录Q还可以l每个数据库创徏一个子目录?BR>
Q?Q?单击“下一步”按钮,出现如图6-20 所C的指定事务日志文g备䆾计划对话框。可以选择是否事务日志备份加入到数据库维护计划中?BR>
Q?Q?单击“下一步”按钮,出现如图6-21 所C的指定事务日志文g备䆾存放目录对话框。可以选择是否事务日志备份存攄相关选项?BR>
Q?Q?单击下一步按钮出现如?-22 所C的产生l护计划报告对话框可以选择报告的存攄录等选项
Q?0Q?单击“下一步”按钮,出现如图6-23 所C的指定l护计划执行历史记录存放位置对话框。可以选择其存放在本地服务器或远E服务器上?BR>
Q?1Q?单击“下一步”按钮,出现如图6-24 所C的最l界面,指定l护计划名称对话框。输入名U后Q单几Z完成”按钮,完成l护计划的设|?BR> 在设|好l护计划后,可以在Enterprise Manager 中查看、修改它。在企业理器中服务器文件夹下的“Management”子目录下选择“Database Maintenance Plans”就可看到所讄的计划。如?-25 所C?BR>
在图6-25 H口中选择要修改的数据库维护计划名Uͼ单击右键Q从快捷菜单中选择“属性(PropertiesQ”选项Q则出现如图6-26 所C的数据库维护计划编辑对话框。可以编辑在计划生成向导中所讄的几乎所有信息?BR>
]]>
pȝ数据?/STRONG>
作者:unknown 更新旉Q?005-03-17
SQL Server 2000 有四个系l数据库QSystem DatabasesQ:Master、Model、Msdb、Tempdb。这些系l数据库的文件存储在Microsoft SQL ServerQ默认安装目录)的MSSQL子目录的Data 文g夹中。各pȝ数据库所包含的文件如?-1 所C?BR>
注意Q如果在企业理器中看不到系l数据库Q则可用鼠标右键单击服务器,从快捯单中选择“Edit SQL Server Registration Properties”,会出现如?-5所C的~辑服务器注册属性对话框Q从中选择“Show system databases and system objects"选项Q再h企业理器界面即可?BR>
Master 数据库记录了一个SQL Server pȝ的所有系l信息。这些系l信息主要有Q?/P>
6.9.2 Model 数据?BR>Model 数据库是所有用h据库和Tempdb 数据库的创徏模板。当创徏数据库时Q系l会Model 数据库中的内容复制到新徏的数据库中去。由此可见,利用Model 数据库的模板Ҏ,通过更改Model 数据库的讄Qƈ时怋用的数据库对象复制到Model数据库中Q可以大大简化数据库及其对象的创建、设|工作,为用戯省大量的旉。通常Q可以将以下内容d到Model 数据库中Q?BR>
6.9.3 Msdb 数据?/SPAN>
SQL Server、SQL Server Enterprise Manager 和SQL Server Agent 使用Msdb 数据库来 存储计划信息以及与备份和恢复相关的信息。尤其是SQL Server Agent 需要用它来执?安排工作和警报、记录操作者等操作?
6.9.4 Tempdb 数据?/SPAN>
Tempdb 数据库用作系l的临时存储I间Q其主要作用有:
在Tempdb 数据库中所做的存在不会被记录,因而在Tempdb 数据库中的表上进行数据操作比在其它数据库中要快得多?BR>
注意Q当退出SQL Server时、用户在Tempdb数据库中建立的所有对象都被删除。每ơSQL Server启动ӞTempdb数据库都被重徏Q回复到pȝ讑֮的初始状态。因此,千万不要Tempdb数据库作为数据的最l存攑֤?BR>
]]>
Ud数据?/STRONG>
作者:unknown 更新旉Q?005-03-17
在SQL Server 中可以用拆分(DetachQ和附加QAttachQ的Ҏ来移动数据库。拆分数据库是从服务器中Ud逻辑数据库,但不会将操作pȝ中的数据库文件删除。附加数据库会创徏一个新的数据库Qƈ复制存储在已有的数据库文件和事务日志文g中的数据。用系l存储过ESp_detach_db 来拆分数据库Q用pȝ存储q程Sp_attach_db 来附加数据库?BR>
Sp_detach_db pȝ存储q程的语法如下:
sp_detach_db [@dbname =] 'database_name'
[, [@skipchecks =] 'skipchecks']
其中[@skipchecks =] 'skipchecks'子句中Skipchecks 的gؓTrue 或False?当Skipchecks的gؓTrue Ӟ指定在执行此q程之前不需要对数据库中的所有表执行UPDATE STATISTICS命oQؓFalse Ӟ则需要执行UPDATE STATISTICS 命o?BR>
Sp_attach_db pȝ存储q程的语法如下:
sp_attach_db [@dbname =] 'dbname',
[@filename1 =] 'filename_n' [,...16]
其中“filename_n”包括文件的路径和物理名U。最多可指定16 个文件。文件中必须包含L据库文g。如果需要附加的文g过?6 个,必M用带FOR ATTACH 子句的CREATE DATABASE 命o来代ѝ?BR>注意QSp_attach_dbpȝ存储q程中只能作用于那些已经用Sp_detach_dbpȝ存储q程从服务器中拆分出来的数据库?BR>
?-16Q移动数据库mytest 到E:\SQL Data 目录下?BR>Q?Q?在SQL Server Query Analyzer 中运行系l存储过ESp_helpdbQ?得到mytest数据库所包含的文件名U、数量、类型、存放位|等信息。命令语句如下:
exec sp_helpdb mytest
Q?Q?在SQL Server Query Analyzer 中运行Sp_detach_db pȝ存储q程Q拆分mytest数据库。命令语句如下:
exec sp_detach_db mytest, true
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
exec sp_attach_db @dbname = 'mytest',
@filename1 = 'e:\sql data\mytest_data.mdf',
@filename2 = 'e:\sql data\mytest_log.ldf'
x已完成了数据库的Ud工作Q可在Enterprise Manager 中查看mytest 数据库的信息Q也可以在SQL Server Query Analyzer 中运行系l存储过ESp_helpdb 来查看移动是否成功?/P>
]]>
删除数据?/STRONG>
作者:unknown 更新旉Q?005-03-17
6.5.1 用Enterprise Manager 删除数据?/SPAN>
在Enterprise Manager 中在所要删除的数据库上单击右键Q从快捷菜单中选择“删除(DeleteQ”选项卛_删除数据库,也可以选择数据库文件夹或图标后从工h中选择图标来删除数据库。系l会提示认是否要删除数据库Q如?-9 所C?/P>
6.5.2 用DROP DATABASE 命o删除数据?/SPAN>
DROP DATABASE 命o可以从SQL Server 中一ơ删除一个或几个数据库。数据库所
有者DBO 和数据库理员DBA 才有权执行此命o。其语法如下Q?BR>DROP DATABASE database_name [,...n]
?-13Q?删除数据库abc?BR>drop database abc
Deleting database file 'E:\Program Files\Microsoft SQL Server\MSSQL\data\abc_Log.LDF'.
Deleting database file 'E:\Program Files\Microsoft SQL Server\MSSQL\data\abc_Data.MDF'.
]]>
压羃数据?/STRONG>
作者:unknown 更新旉Q?005-03-17
数据库在使用一D|间后Q时怼出现因数据删除而造成数据库中I闲I间太多的情况,q时需要减分配给数据库文件和事务日志文g的磁盘空_以免费盘I间。当数据库中没有数据Ӟ可以修改数据库文件属性直接改变其占用I间Q但当数据库中有数据Ӟq样做会破坏数据库中的数据,因此需要用压~的方式来羃减数据库I间。可以在数据库属性选项中选择“Auto shrink”选项Q让pȝ自动压羃数据库,也可以用人工的方法来压羃。h工压~数据库有以下两U方式:
1、用Enterprise Manager 压羃数据?/SPAN>
在Enterprise Manager 中在所要压~的数据库上单击右键Q从快捷菜单中的“所有Q务(All TasksQ”中选择“Shrink DatabaseQ压~数据库Q”选项Q就会出现如?-10 所C的对话框。可以在?-10 所C的对话框中选择数据库的压羃方式Q也可以选择使用压羃计划或压~单个文件?
单击?-10 中的“Files”按钮,会出现如?-11 所C的压羃数据库文件对话框Q可以针Ҏ个数据库文gq行不同的压~设|?BR>
单击?-10 中的“Change?按钮Q会出现如图6-12 所C的压羃计划~辑对话框,可以指定压羃计划的执行方式。单d6-12 中的“Change?按钮Q会出现如图6-13 所C的循环工作计划~辑对话框,可以~辑计划执行的周期或旉炏V设|完成后单击“OK?按钮开始压~数据库Q在压羃l束后会昄一个压~情况信息框?
2、用Transact-SQL 命o压羃数据?/SPAN>
可以使用DBCC SHRINKDATABASE 和DBCC SHRINKFILE 命o来压~数据库。其中DBCC SHRINKDATABASE 命oҎ据库q行压羃QDBCC SHRINKFILE 命oҎ据库中指定的文gq行压羃?BR>
Q?Q?DBCC SHRINKDATABASE
DBCC SHRINKDATABASE 命o语法如下Q?BR>DBCC SHRINKDATABASE (database_name [, target_percent]
[, {NOTRUNCATE | TRUNCATEONLY}] )
各参数说明如下:
(2) DBCC SHRINKFILE
数据库~减后剩余的I间保留在数据库Q中不返q给操作pȝ。如果不选择此选项Q则剩余的空间返q给操作pȝ?
数据库~减后剩余的I间q还l操作系l。用此命o时SQL Server 文件羃减到最后一个文件分配,区域但不UdM数据文g。选择此项后,target_percent 选项无效了?BR>?-14Q?/STRONG> 压羃数据库mytest 的未使用I间为数据库大小?0%?BR>dbcc shrinkdatabase (mytest, 20)
q行l果如下Q?BR>DBCC execution completed. If DBCC printed error messages, contact your system administrator.
DBCC SHRINKFILE 命o压羃当前数据库中的文件。其语法如下Q?BR>DBCC SHRINKFILE ( {file_name | file_id }
{ [, target_size] |
[, {EMPTYFILE | NOTRUNCATE | TRUNCATEONLY}] } )
各参数说明如下:
指定要压~的文g的鉴别号QIdentification numberQ?即IDQ。文件的ID 号可以通过 FILE_IDQ)函数或如本章前面所讲述的Sp_helpdb pȝ存储q程来得到?
指定文g压羃后的大小。以MB 为单位。如果不指定此选项QSQL Server ׃最大可能地~减文g?
指明此文件不再用,移动所有在此文件中的数据到同一文gl中的其它文件中厅R执行带此参数的命o后,此文件就可以用ALTER DATABASE 命o来删除了?
其余参数NOTRUNCATE 和TRUNCATEONLY 与DBCC SHRINKDATABASE 命o中的含义相同?
?-15: 压羃数据库mydb 中的数据库文件mydb_data2 的大到1MB?use mydb dbcc shrinkfile (mydb_data2, 1)
]]>
6.4.1 更改文g及其属?/SPAN>
可以在Enterprise Manager 中利用数据库属性设|更Ҏ据库文g和事务日志文Ӟ也可以用ALTER DATABASE 命o来更Ҏ据库。ALTER DATABASE 命o可以增加或删除数据库中的文gQ也可以修改文g的属性。应注意的是只有数据库管理员QDatabase Administration UDBAQ或hCREATE DATABASE 权限的数据库所有者才有权执行此命令?BR>ALTER DATABASE 命o的语法如下:
各参数说明如?
ȝ首页 视频下蝲 书籍下蝲 软g下蝲 论坛交流 虚拟L 站内搜烦 |站地图 |站律师 q告合作 |
![]() |
![]() |
![]() |
![]() |
![]() |
豆豆首页 - 在线教程 - ???/FONT> - Mssql - 基础教程 |
|
![]() |
业务联系电话Q?28-84420401 Email:info*ddvip.com |
关于豆豆 | 联系我们 | 招聘信息 | |站律师 | 版权x | q告合作 | 友情链接 | |站地图 |
Copyright © 2002 - 2005 DDVIP TEAM.All Rights Reserved |
版权所? 豆豆技?/TD> |
![]() |
ȝ首页 视频下蝲 书籍下蝲 软g下蝲 论坛交流 虚拟L 站内搜烦 |站地图 |站律师 q告合作 |
![]() |
![]() |
![]() |
![]() |
![]() |
豆豆首页 - 在线教程 - ???/FONT> - Mssql - 基础教程 |
|
![]() |
业务联系电话Q?28-84420401 Email:info*ddvip.com |
关于豆豆 | 联系我们 | 招聘信息 | |站律师 | 版权x | q告合作 | 友情链接 | |站地图 |
Copyright © 2002 - 2005 DDVIP TEAM.All Rights Reserved |
版权所? 豆豆技?/TD> |
ȝ首页 视频下蝲 书籍下蝲 软g下蝲 论坛交流 虚拟L 站内搜烦 |站地图 |站律师 q告合作 |
![]() |
![]() |
![]() |
![]() |
![]() |
豆豆首页 - 在线教程 - ???/FONT> - Mssql - 基础教程 |
|
![]() |
业务联系电话Q?28-84420401 Email:info*ddvip.com |
关于豆豆 | 联系我们 | 招聘信息 | |站律师 | 版权x | q告合作 | 友情链接 | |站地图 |
Copyright © 2002 - 2005 DDVIP TEAM.All Rights Reserved |
版权所? 豆豆技?/TD> |
|
|
ȝ首页 视频下蝲 书籍下蝲 软g下蝲 论坛交流 虚拟L 站内搜烦 |站地图 |站律师 q告合作 |
![]() |
![]() |
![]() |
![]() |
![]() |
豆豆首页 - 在线教程 - ???/FONT> - Mssql - 基础教程 |
|
|
|
|
|