如果您想了解Mssqlserver2008R2大数据表的分区实现的相关知识,那么本文是一篇不可错过的文章,我们将对sqlserver大数据存储方案进行全面详尽的解释,并且为您提供关于asp+SqlSe
如果您想了解Ms sqlserver2008 R2大数据表的分区实现的相关知识,那么本文是一篇不可错过的文章,我们将对sqlserver大数据存储方案进行全面详尽的解释,并且为您提供关于asp+SqlServer2008 开发【第一集:安装 SqlServer2008 以及登陆】、MsSqlServer2008/MsSqlServer2005命令收集、MsSqlServer2008图形化迁移到MsSqlServer2005、oracle 的一个大数据表 快速迁移到 Sqlserver2008数据库的有价值的信息。
本文目录一览:
Ms sqlserver2008 R2大数据表的分区实现(sqlserver大数据存储方案)
如果你的数据库中某一个表中的数据满足以下几个条件,那么你就要考虑创建分区表了。
1、数据库中某个表中的数据很多。很多是什么概念?一万条?两万条?还是十万条、一百万条?这个,我觉得是仁者见仁、智者见智的问题。当然数据表中的数据多到查询时明显感觉到数据很慢了,那么,你就可以考虑使用分区表了。如果非要我说一个数值的话,我认为是100万条。
2、但是,数据多了并不是创建分区表的惟一条件,哪怕你有一千万条记录,但是这一千万条记录都是常用的记录,那么最好也不要使用分区表,说不定会得不偿失。只有你的数据是分段的数据,那么才要考虑到是否需要使用分区表。
3、什么叫数据是分段的?这个说法虽然很不专业,但很好理解。比如说,你的数据是以年为分隔的,对于今年的数据而言,你常进行的操作是添加、修改、删除和查询,而对于往年的数据而言,你几乎不需要操作,或者你的操作往往只限于查询,那么恭喜你,你可以使用分区表。换名话说,你对数据的操作往往只涉及到一部分数据而不是所有数据的话,那么你就可以考虑什么分区表了。
那么,什么是分区表呢?
简单一点说,分区表就是将一个大表分成若干个小表。假设,你有一个销售记录表,记录着每个每个商场的销售情况,那么你就可以把这个销售记录表按时间分成几个小表,例如说5个小表吧。2009年以前的记录使用一个表,2010年的记录使用一个表,2011年的记录使用一个表,2012年的记录使用一个表,2012年以后的记录使用一个表。那么,你想查询哪个年份的记录,就可以去相对应的表里查询,由于每个表中的记录数少了,查询起来时间自然也会减少。
但将一个大表分成几个小表的处理方式,会给程序员增加编程上的难度。以添加记录为例,以上5个表是独立的5个表,在不同时间添加记录的时候,程序员要使用不同的sql语句,例如在2011年添加记录时,程序员要将记录添加到2011年那个表里;在2012年添加记录时,程序员要将记录添加到2012年的那个表里。这样,程序员的工作量会增加,出错的可能性也会增加。
使用分区表就可以很好的解决以上问题。分区表可以从物理上将一个大表分成几个小表,但是从逻辑上来看,还是一个大表。
接着上面的例子,分区表可以将一个销售记录表分成五个物理上的小表,但是对于程序员而言,他所面对的依然是一个大表,无论是2010年添加记录还是2012年添加记录,对于程序员而言是不需要考虑的,他只要将记录插入到销售记录表——这个逻辑中的大表里就行了。sql Server会自动地将它放在它应该呆在的那个物理上的小表里。
同样,对于查询而言,程序员也只需要设置好查询条件,OK,sql Server会自动将去相应的表里查询,不用管太多事了。
这一切是不是很诱人?
的确,那么我们就可以开始动手创建分区表了。
第一、创建分区表的第一步,先创建数据库文件组,但这一步可以省略,因为你可以直接使用PRIMARY文件。但我个人认为,为了方便管理,还是可以先创建几个文件组,这样可以将不同的小表放在不同的文件组里,既便于理解又可以提高运行速度。创建文件组的方法很简单,打开sql Server Management Studio,找到分区表所在数据库,右键单击,在弹出的菜单里选择“属性”。然后选择“文件组”选项,再单击下面的“添加”按钮,如下图所示:

第二,创建了文件组之后,还要再创建几个数据库文件。为什么要创建数据库文件,这很好理解,因为分区的小表必须要放在硬盘上,而放在硬盘上的什么地方呢?当然是文件里啦。再说了,文件组中没有文件,文件组还要来有啥用呢?还是在上图的那个界面,选择“文件”选项,然后添加几个文件。在添加文件的时候要注意以下几点:
1、不要忘记将不同的文件放在文件组中。当然一个文件组中也可以包含多个不同的文件。
2、如果可以的话,将不同的文件放在不同的硬盘分区里,最好是放在不同的独立硬盘里。要知道IQ的速度往往是影响sql Server运行速度的重要条件之一。将不同的文件放在不同的硬盘上,可以加快sql Server的运行速度。
在本例中,为了方便起见,将所有数据库文件都放在了同一个硬盘下,并且每个文件组中只有一个文件。如下图所示。

第三、创建一个分区函数。这一步是必须的了,创建分区函数的目的是告诉sql Server以什么方式对分区表进行分区。这一步必须要什么sql脚本来完成。以上面的例子,我们要将销售表按时间分成5个小表。假设划分的时间为:
第1个小表:2010-1-1以前的数据(不包含2010-1-1)。
第2个小表:2010-1-1(包含2010-1-1)到2010-12-31之间的数据。
第3个小表:2011-1-1(包含2011-1-1)到2011-12-31之间的数据。
第4个小表:2012-1-1(包含2012-1-1)到2012-12-31之间的数据。
第5个小表:2013-1-1(包含2013-1-1)之后的数据。
那么分区函数的代码如下所示:
view plain
copy to clipboard
print
?
- CREATE PARTITION FUNCTION partfunSale (datetime)
- AS RANGE RIGHT FOR VALUES ('20100101','20110101','20120101','20130101')
其中:
1、CREATE PARTITION FUNCTION意思是创建一个分区函数。
2、partfunSale为分区函数名称。
3、AS RANGE RIGHT为设置分区范围的方式为Right,也就是右置方式。
4、FOR VALUES ('20100101','20110101','20120101','20130101')为按这几个值来分区。
这里需要说明的一下,在Values中,'20100101'、'20110101'、'20120101'、'20130101',这些都是分区的条件。“ 20100101”代表2010年1月1日,在小于这个值的记录,都会分成一个小表中,如表1;而小于或等于'20100101'并且小于'20110101'的值,会放在另一个表中,如表2。以此类推,到最后,所有大小或等于'20130101'的值会放在另一个表中,如表5。
也许有人会问,为什么值“ 20100101”会放在表2中,而不是表1中呢?这是由AS RANGE RIGHT中的RIGHT所决定的,RIGHT的意思是将等于这个值的数据放在右边的那个表里,也就是表2中。如果您的sql语句中使用的是Left而不是RIGHT,那么就会放在左边的表中,也就是表1中。
第四、创建一个分区方案。分区方案的作用是将分区函数生成的分区映射到文件组中去。分区函数的作用是告诉sql Server,如何将数据进行分区,而分区方案的作用则是告诉sql Server将已分区的数据放在哪个文件组中。分区方案的代码如下所示:
?
- CREATE PARTITION SCHEME partschSale
- AS PARTITION partfunSale
- TO (
- Sale2009,
- Sale2010,
- Sale2011,
- Sale2012,
- Sale2013)

asp+SqlServer2008 开发【第一集:安装 SqlServer2008 以及登陆】
参考:https://blog.csdn.net/i_likechard/article/details/75299983
1,安装 sqlServer2008 的具体步骤参考网上其他教程,自己根据注释引导也能完成安装,同时注意在安装的时候需要勾选安装全部组件,毕竟不知道什么组件是需要还是不需要。
在是否使用 sql server 登陆的选项,我建议勾选,并键入密码。!!!!6-1cxz
2,安装的过程会很久,我差点以为卡死就重启了。
3,在 win 菜单中找到下图第一个按钮,就打开客户端连接界面。

4,如何登陆:浪费了我一些时间。必须使用以下图片的登陆方式。

刚开始我也不知道服务器名称选什么,于是:

但是没有注意到服务器类型发生了改变:

登陆进去以后:

这是一种错误的登陆,为什么不知道,以后再研究。
正确的方式登陆后:

这样才能创建数据库。

MsSqlServer2008/MsSqlServer2005命令收集
DBCC log ( {dbid|dbname},[,type={0|1|2|3|4}] )
参数:
Dbid or dbname - 任一数据库的ID或名字
type - 输出结果的类型:
0 - 最少信息(operation,context,transaction id)
1 - 更多信息(plus flags,tags,row length)
2 - 非常详细的信息(plus object name,index name,page id,slot id)
3 - 每种操作的全部信息
4 - 每种操作的全部信息加上该事务的16进制信息
默认 type = 0
日志空间使用
dbcc sqlperf(LOGSPACE);
检查日志现在使用情况和数据库状态
select name,recovery_model_desc,log_reuse_wait,log_reuse_wait_desc from sys.databases;
检查最老的活动事务
最久未提交的事务是哪个数据库
dbcc opentran
go
select st.text,t2.*
from sys.dm_exec_sessions as t2,sys.dm_exec_connections as t1
cross apply sys.dm_exec_sql_text(t1.most_recent_sql_handle) as st
where t1.session_id=t2.session_id
and t1.session_id>50;
返回当前数据库最久未未被提交的事务
登陆用户查看
use master;
select * from sys.server_principals;
角色查看
use bhxglccom
select * from sys.database_principals;
查看独立用户
sp_change_users_login @action='report';
消除独立用户
sp_change_users_login @action='update_one',@usernamepattern='bhxglccom_f',@loginname='bhxglccom_f'
exec sp_change_users_login 'AUTO_FIX','用户名'
语法:
http://msdn.microsoft.com/zh-tw/library/ms174378.aspx

MsSqlServer2008图形化迁移到MsSqlServer2005
1、将客户2008版本的数据导入到本地2008数据库中(注意:数据库名要与客户买的站点中数据库名称相同),然后通过如下图所示的方法将数据库的整个对象生成脚本:
2、将脚本中创建数据库的路径更改到公司数据库放置路径,如下图:

3、完全执行整个脚本,这时候数据中的各个对象就会生成。
4、如果需要导入数据的可以有两种方式:
①、把本地的数据导入到excel文件中,然后导入到目标服务器数据库中;
②、在生成脚本阶段选择生成数据选项即可完成。

oracle 的一个大数据表 快速迁移到 Sqlserver2008数据库
oracle 服务器 版本 11.2.0.1.0
sqlserver2008 R2
前提条件是 sqlSERVER服务器上安装了Oracle客户端并且进行了配置
不会配置的请参照 这个链接
1 登录MSSM 工具
2 选中其中一个数据库
右键⇒任务⇒导入数据
3 打开窗口 sqlserver导入和导出向导 点击下一步
4 进入选择数据源画面
a: 数据源 选择 Microsoft OLE DB Provider for Oracle
然后 点击 右侧的 属性 按钮
5 数据链接属性 窗口弹出
a: 输入服务器名称 ( 这个名称不是Oracle服务器的IP地址 是安装Oracle客户端时设置监听时的服务名 也就是 tnsnames.ora 文件里的别名)
这里输入ORCL
b: 输入登录数据库的信息 (也就是访问ORacle服务器的用户名和密码)
c:然后点击 测试连接
6 点击 确定按钮 点击下一步
服务器名称 是 sqlServer2008服务器IP
身份验证 选择 使用sqlserver身份验证
用户名和密码输入服务器的用户名和密码
数据库 选择Oracle服务器表的数据导入的对象数据库
7 输入完成后 点击下一步
选择 默认的 复制一个或多个表或试图的数据
8 点击 下一步 选择 源表 和源视图 窗口
选择要导出的表 右侧是 导入sqlserver数据库后的名字 双击可以变更用户名和表名字
这里以Oracle[APEX_030200].[WWV_FLOWS] 这个表为例子 导入sqlserver后为 dbo. a
⇒
9 点击下一步
10 点击下一步
11 点击下一步 然后点击 完成 即可进行数据迁移
12 迁移成功后 会出现下图
自己的迁移结果是
100万条数据 迁移时间为 2分钟
两个服务器都是同一局域网
我们今天的关于Ms sqlserver2008 R2大数据表的分区实现和sqlserver大数据存储方案的分享就到这里,谢谢您的阅读,如果想了解更多关于asp+SqlServer2008 开发【第一集:安装 SqlServer2008 以及登陆】、MsSqlServer2008/MsSqlServer2005命令收集、MsSqlServer2008图形化迁移到MsSqlServer2005、oracle 的一个大数据表 快速迁移到 Sqlserver2008数据库的相关信息,可以在本站进行搜索。