MS Sql Server 2005 分区表有点麻烦
ALTER DATABASE AdventureWorks ADD FILEGROUP [2003Q3]
创建文件组后,使用 ALTER DATABASE 将文件添加到该文件组中。
ALTER DATABASE AdventureWorks
ADD FILE
(NAME = N'2003Q3',
FILENAME = N'C:\AdventureWorks\2003Q3.ndf',
SIZE = 5MB,
MAXSIZE = 100MB,
FILEGROWTH = 5MB)
TO FILEGROUP [2003Q3]
确定是否应使用多个文件组
为了有助于优化性能和维护,应使用文件组分离数据。文件组的数目一定程度上由硬件资源决定:一般情况下,文件组数最好与分区数相同,并且这些文件组通常位于不同的磁盘上。但是,这主要适用于打算对整个数据集进行分析的系统。如果您有多个 CPU,SQL Server 则可以并行处理多个分区,从而大大缩短处理大量复杂报表和分析的总体时间。这种情况下,可以获得并行处理以及在分区表中移入和移出分区的好处。
边上的同事说文件组包含多个文件可以增加并行度,也就是多个CPU可以一起读?
他的意思难道是说操作系统对程序访问单个文件有限制,多了话会阻塞?
如果是的话 Windows 2003 64位 企业版 文件有大小限制 有并行访问的限制不?
他还说可以把它们分配到不同磁盘上。不过如今都用Raid 10了 不需要人为的分成多个文件,反而增加维护复杂度。
他接着说 文件小而多比大而少 容易备份!
他说的是真的吗?
因此本人还是采用一个文件组和一个文件.其实就是用原来的数据文件的.
建立分区函数
CREATE PARTITION FUNCTION FuPart_szumevent(datetime)AS RANGE RIGHT FOR VALUES ('20070801','20070901','20071001','20071101','20071201','20080101','20080201','20080301','20080401','20080501','20080601','20080701','20080801','20080901','20081001','20081101','20081201')
这里采用的是范围分区。 这里有个Right 和Left 。Right比较容易理解 它是小于时间点的是另外个分区数据,大于和等于它的是所在的分区。
A<Time1<=B<Time2<=C 而Left是反过来 A>=Time1>B>=Time2>C
Left 有个麻烦点是 >=Time1 => 2008-01-01 23:59:59.997
建立分区架构:
CREATE PARTITION SCHEME FNw_szumevent AS PARTITION FuPart_szumevent ALL TO ([PRIMARY])
其实就是关联东东,或许Ms认为以后DBA会对分区表进行改用分区函数
建立分区表:
CREATE TABLE [dbo].[Part_
相关文档:
因现在的工作需要,
我得从WinForm的平台,
转型到WebForm的页面。
有一年多没有接触SQL Server了,
虽然大学时有点基础,
但也忘记得差不多了。
因为Asp.net型的B/S网站和WinForm的还是有点不同,
现在工作起来不是那么得心应手。
温故而知新,
就把以前实习时做的的网站源代码拿出来看看。
因为要用到SQL 2005S ......
2000发布与订阅
预备工作
1.发布服务器,订阅服务器都创建一个同名的windows用户,并设置相同的密码,做为发布快照文件夹的有效访问用户
--管理工具
--计算机管理
--用户和组
--右键用户
--新建用户
--建立一个隶属于administrator组的登陆windows的用户(SynUser)
2.在发布服务器上,新建一个共享目录 ......
备份
DECLARE @strPath NVARCHAR(200)
set @strPath = convert(NVARCHAR,getdate(),120)
set @strPath='hq'+rtrim(left(replace(@strPath,'-',''),8))
set @strPath = 'D:\sqlback\mydb\' + @strPath + '.bak'
BACKUP DATABASE [mydb] TO DISK = @strPath WITH NOFORMAT, NOINIT, NAME = N'mydb-完整 数据库 备份', ......
前段时间做了一个虚拟组织的创建。这个虚拟组织的创建是从现有的组织中读取数据然后进行分析保存到虚拟组织表中。保存之后写日志方便同步到其它系统中。公司使用的主要技术是SSH。由于是新人没有什么经验,加之时间比较紧迫,最后使用一般的逻辑思想通过递归在hibernate下顺利创建了。可是从现有的组织� ......
C# SQL数据库操作通用类
using System;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Collections;
namespace Framework.DataBase
{
///
/// 通用数据库类
///
public class DataBase
{
private string ConnStr = null;
public DataBase()
{
&nb ......