在SQL Server2000中如何让table存放在指定的file group中?

来源:互联网 发布:网络分析器技术交流版 编辑:程序博客网 时间:2024/05/21 17:10

最近有个好问的客户希望我能给他讲解一下SQL Server2000的数据物理文件。我看了一下online book。在此写下我的心得体会。

SQL Server 2000(简称SQL Server,下同)中允许有多个物理文件存放数据和日志。默认的文件后缀为:mdf、ndf和ldf。其中mdf是主文件也是默认数据文件;ndf为次要数据文件,也就是说可以没有ndf文件,比如数据比较小,没有将数据拆分存储的需要;ldf为日志文件。一个SQL Server数据库至少要有mdf和ldf两个文件。将数据库进行拆分的最大好处有两个:1。可以将各个文件存放在不同的硬盘上,从而降低了单个服务器的开销提高整体性能,同时也避免了单个文件过大,指示服务器空间不足;2。可以将部分表存放到不同的数据文件中,减少查询带来的消耗,比如一个销售系统,存放有3年的数据,系统主要是跟踪今年的数据,几乎不会去查询往年订单,这时可以将订单分为当前表和历史表两个,当前表存放在一个文件中,历史表存放在另外一个文件中,这样能就降低单个文件存贮容量,提升查找性能。SQL Server提供了另外一个逻辑的文件组织方法:file group,一个file group可以包含一个或多个物理文件,实际上我们在操作数据的时候都是在file group上进行的,SQL Server对程序员屏蔽了物理文件。

那么如何将一个表存放到指定的file group上呢?其实非常简单,create table命令中有一个参数[on filegroup],在创建table时使用如下命令就好了:create table [table_name] ([columns]) on [file_grouop]命令。

好了大功告成!

另外我要罗唆一句,善用MSDN以及微软提供的各种资源,会使我们少走弯路,学习更新的技术以及少花钱(很多书写的还没有MSDN上好呢!)。我也推荐几个,大部分信息都可以从MSDN上获得,学ASP.Net可以去www.asp.ent,能把上面的文章都读了,也就成了。。。。呵呵。。。。

原创粉丝点击