基于Sql Server 2008的分布式数据库的实践
配置Sql Server 2008(Win7)
1.打开SQL server2012,使用windows身份登录


2.登录后,右键选择“属性”。左侧选择“安全性”,选中右侧的“SQL Server 和 Windows 身份验证模式”以启用混合登录模式


3.选择“连接”,勾选“允许远程连接此服务器”,然后点“确定”

4.展开“安全性”,“登录名”;“sa”,右键选择“属性”

5.左侧选择“常规”,右侧选择“SQL Server 身份验证”,并设置密码

6.右击数据库选择“方面”

7.在右侧的方面下拉框中选择“服务器配置”;将“RemoteAccessEnabled”属性设为“True”,点“确定”

8.至此SSMS已设置完毕,先退出,再用sa登录,成功即表示sa帐户已经启用


9.打开sql server配置管理器

10.下面开始配置SSCM,选中左侧的“SQL Server服务”,确保右侧的“SQL Server”以及“SQL Server Browser”正在运行

11.将"客户端协议"的"TCP/IP"也修改为“Enabled”

12.选择“IP 地址”选项卡,设置TCP的端口为“1433”(默认端口)

13.MSSQLSERVER的协议启用TCP/IP

14.配置防火墙




配置Sql Server 2008(Win2003)

方法与配置Sql Server 2008(Win7)相同
从Win7连接Win2003的Sql Server 2008
1.新建链接服务器链接到Win2003的Sql Server 2008

2.查看Win2003上面的IP地址,配置”新建链接服务器”中的”常项”


3.配置”新建链接服务器”中的”安全项”,本地登录为”sa”,远程用户也为”sa”

4.链接成功

Win7启动MSDTC服务
1.运行cmd,输入net start msdtc启动msdtc服务

2.在管理工具中打开服务组件,右键”本地DTC”, 选择”本地DTC”的”安全选项卡”,做如下设置:
(1)选中”网络DTC访问”
(2)在客户端管理中选中”允许远程客户端”“允许远程管理”
(3)在事务管理通讯中选”允许入站”“允许出站”“不要求进行验证”
(4)保证DTC登陆账户为:NT Authority\NetworkService
(5)单击”确定”。这样将会提示您”MS DTC 将会停止并重新启动。


Win2003启动MSDTC服务
1.打开”控制面板”,打开”添加或删除程序”,点击”添加/删除Windows组件”,选择”应用程序服务器”,勾选”启用网络DTC访问”

2.在"开始"里的"运行"中输入dcomcnfg.exe启动"组件服务",右键”我的电脑”,”属性”,在MSDTC选项卡中,点击”安全配置”按钮,在安全配置窗口中做如下设置:
(1)选中”网络DTC访问”
(2)在客户端管理中选中”允许远程客户端””允许远程管理”
(3)在事务管理通讯中选”允许入站” ”允许出站” ”不要求进行验证”
(4)保证DTC登陆账户为:NT Authority\NetworkService
(5)单击"确定"。这样将会提示您"MS DTC 将会停止并重新启动”

转载请注明出处:http://www.cnblogs.com/yydcdut/p/3456440.html
配置PHP
1.打开PHP配置文件,找到extension=php_mssql.dll,将前面的注释符号去掉

2.找到mssql.secure_connection,将Off改为On

3.找到com.allow_dcom = true,将前面的注释符号去掉

4.下载正确版本的 ntwdblib.dll (2000.80.194.0),覆盖Apache-20/bin/ntwdblib.dll、覆盖php-5.2.14-Win32/ntwdblib.dll并且复制ntwdblib.dll和php_mssql.dll到系统system32目录下,重启Apache
5.测试成功



转载请注明出处:http://www.cnblogs.com/yydcdut/p/3459792.html
数据库设计
1.E-R图

2.数据库创建
Win 7
| 
 1 
 | 
create database V3 | 
Win 2003
| 
 1 
 | 
create database V3 | 
3.数据表设计
Win7 创建数据表student_7
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
 | 
create table student_7(    sid int not null,    sex nvarchar(1) not null,    sname varchar(20) not null,    school varchar(20) not null,    scount varchar(20) not null,    spwd varchar(20) not null,    constraint pk_student_7    primary key(sid,sex),    constraint uq_student_7_scount    unique(scount),    constraint chk_student_7_sex    check(sex='1')) | 
Check(sex=1)指明存放sex=1的数据,即女生。
Win2003 创建数据表student_2003
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
 | 
create table student_2003(    sid int not null,    sex nvarchar(1) not null,    sname varchar(20) not null,    school varchar(20) not null,    scount varchar(20) not null,    spwd varchar(20) not null,    constraint pk_student_2003    primary key(sid,sex),    constraint uq_student_2003_scount    unique(scount),    constraint chk_student_2003_sex    check(sex='0')) | 
Check(sex=0)指明存放sex=0的数据,即男生。
Win7 创建视图V3_student
| 
 1 
2 
3 
4 
5 
 | 
create view V3_studentasselect * from student_7union allselect * from [192.168.116.130].[V3].[dbo].[student_2003] | 
Win2003 创建视图V3_student
| 
 1 
2 
3 
4 
5 
 | 
create view V3_studentasselect * from student_2003union allselect * from [192.168.233.1].[V3].[dbo].[student_7] | 
student水平分片数据表已经建立,现在可以在任何位置,只要访问本地V3_student分布式分区视图,就实现了所有分布式数据库的操作。此时,对数据库的全局操作和局部操作就如同操作本地集中式数据库一样。
-----------------------------------------------------------------------------------------------------------------
Win7创建数据表teacher
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
 | 
create table teacher(    tid int not null,    tname varchar(20) not null,tage int not null,tsex int not null,    tcount varchar(20) not null,    tpwd varchar(20) not null,tsuper int not null,    primary key(tid),    unique(tcount)) | 
Win2003创建数据表teacher
| 
 1 
2 
3 
4 
5 
6 
7 
8 
 | 
create table teacher(    tid int not null,nowage int not null,tel char(20) not null,address varchar(80) not null,    primary key(tid)) | 
Win7 创建存储过程V3_teacher
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
 | 
create proc V3_teacher(@tid int,@tname varchar(20),@tage int,@tsex int,@tcount varchar(20),@tpwd varchar(20),@super int,@nowage int ,@tel char(20) ,@address varchar(80))asset XACT_ABORT onBEGIN DISTRIBUTED TRANSACTIONinsert into teachervalues(@tid,@tname,@tage,@tsex,@tcount,@tpwd,@super);insert into [192.168.116.130].[V3].[dbo].[teacher]values(@tid,@nowage,@tel,@address);COMMIT TRANSACTION | 
采用存储过程实现垂直分片。此时插入数据之后,将分别插入到不同地址上的SQL Server的teacher的数据表里面。
-----------------------------------------------------------------------------------------------------------------
Win7创建数据表class
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
 | 
create table class(    cid int not null,    sid int not null,tid int not null,cname varchar(20) not null,    score int not null,    primary key(cid,sid)) | 
本地数据表。
-----------------------------------------------------------------------------------------------------------------
Win 7:

Win2003:

4.程序代码测试
水平分片测试



垂直分片测试




转载请注明出处:http://www.cnblogs.com/yydcdut/p/3459836.html
转载请注明出处:http://www.cnblogs.com/yydcdut/p/3456426.html
基于Sql Server 2008的分布式数据库的实践的更多相关文章
- 基于Sql Server 2008的分布式数据库的实践(五)
		
原文 基于Sql Server 2008的分布式数据库的实践(五) 程序设计 ------------------------------------------------------------- ...
 - 基于Sql Server 2008的分布式数据库的实践(四)
		
原文 基于Sql Server 2008的分布式数据库的实践(四) 数据库设计 1.E-R图 2.数据库创建 Win 7 1 create database V3 Win 2003 1 create ...
 - 基于Sql Server 2008的分布式数据库的实践(三)
		
原文 基于Sql Server 2008的分布式数据库的实践(三) 配置PHP 1.打开PHP配置文件,找到extension=php_mssql.dll,将前面的注释符号去掉 2.找到mssql.s ...
 - 基于Sql Server 2008的分布式数据库的实践(二)
		
原文 基于Sql Server 2008的分布式数据库的实践(二) 从Win7连接Win2003的Sql Server 2008 1.新建链接服务器链接到Win2003的Sql Server 2008 ...
 - 基于Sql Server 2008的分布式数据库的实践(一)
		
原文 基于Sql Server 2008的分布式数据库的实践(一) 配置Sql Server 2008(Win7) 1.打开SQL server2012,使用windows身份登录 2.登录后,右键选 ...
 - 基于Sql Server 2008的分布式数据库的实践(终结)
		
学习.操作心得 以前在做网站程序的时候一直用的是MYSQL,但是网上搜到MYSQL不支持分布式操作,然后便开始查询MSSQL的分布式数据库的设计与操作,后来在网上找到了<基于SQL SERVER ...
 - 基于SQL Server 2008 Service Broker构建企业级消息系统
		
注:这篇文章是为InfoQ 中文站而写,文章的地址是:http://www.infoq.com/cn/articles/enterprisemessage-sqlserver-servicebroke ...
 - SQL SERVER 2008 R2 还原数据库3154错误
		
1.SQL SERVER 2008 在还原数据库时,会报错. 提示错误:"备份集中的数据库备份与现有的 '***' 数据库不同.RESTORE DATABASE 正在异常终止. (Micro ...
 - SQL Server 2008 R2 主从数据库同步
		
一.准备工作: 主数据库服务器: OS:Windows Server 2008 R2 DB: SQL Server 2008 R2 Hostname : CXMasterDB IP: 192.1 ...
 
随机推荐
- android大扫盲之SurfaceView,SurfaceHolder,SurfaceHolder.CallBack
			
最近接触到了SurfaceView,SurfaceHolder,SurfaceHolder.CallBack,一直不求其解,现在来粗浅认识一下它们. 先看一下官方的定义: 1.SurfaceView ...
 - 转:windows 下 netsh 实现 端口映射(端口转发)
			
本文转自:本文出自 “httpyuntianjxxll.spac..” 博客,请务必保留此出处http://333234.blog.51cto.com/323234/1135361 -----hapr ...
 - Unity+NGUI性能优化方法总结
			
1 资源分离打包与加载 游戏中会有很多地方使用同一份资源.比如,有些界面会共用同一份字体.同一张图集,有些场景会共用同一张贴图,有些会怪物使用同一个Animator,等等.可以在制作游戏安装包时将这些 ...
 - VMWare虚拟机提示:打不开磁盘…或它所依赖的某个快照磁盘,开启模块DiskEarly的操作失败,未能启动虚拟机
			
将电脑上存在的虚拟机复制一份后打开运行,弹出错误提示: 打不开磁盘…或它所依赖的某个快照磁盘,开启模块DiskEarly的操作失败,未能启动虚拟机. 解决方法如下: 打开存放虚拟机系统硬盘的所在文件夹 ...
 - WPF 本地化(多语言)
			
如果你的程序需要本地化,考虑的因素诸多,例如:当文本改变后,控件的当前高度,宽度 是否合适.所在的位置是否合适.字体.布局是否合适?如果已经构建了一个真正自适应的布局,就不会有问题.用户界面应当能够调 ...
 - 延迟是AR/VR体验的基础
			
原文: http://blogs.valvesoftware.com/abrash/latency-the-sine-qua-non-of-ar-and-vr/ 译者注: 原文发表于2012年, 尽管 ...
 - Java精选笔记_网络编程
			
网络编程 概述 现在的网络编程基本上都是基于请求/响应方式的,也就是一个设备发送请求数据给另外一个,然后接收另一个设备的反馈. 在网络编程中,发起连接程序,也就是发送第一次请求的程序,被称作客户端(C ...
 - complex()
			
complex() 用于将一个对象转换为复数 In [1]: complex(123) # 将整数转换为复数 Out[1]: (123+0j) In [2]: complex(') # 将纯数字的字符 ...
 - go的临时对象池--sync.Pool
			
作者:bigtom链接:https://www.jianshu.com/p/2bd41a8f2254來源:简书 一个sync.Pool对象就是一组临时对象的集合.Pool是协程安全的. Pool用 ...
 - Android Studio 解决Fetching android sdk component information加载过久问题
			
extends:http://www.cnblogs.com/sonyi/p/4154797.html 安装完成后,如果直接启动,Android Studio会去获取 android sdk 组件信息 ...