基于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_student
as
select from student_7
union all
select from [192.168.116.130].[V3].[dbo].[student_2003]

Win2003 创建视图V3_student

1
2
3
4
5
create view V3_student
as
select from student_2003
union all
select 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)
)
as
set XACT_ABORT on
BEGIN DISTRIBUTED TRANSACTION
insert into teacher
values(@tid,@tname,@tage,@tsex,@tcount,@tpwd,@super);
insert into [192.168.116.130].[V3].[dbo].[teacher]
values(@tid,@nowage,@tel,@address);
COMMIT TRANSACTION

采用存储过程实现垂直分片。此时插入数据之后,将分别插入到不同地址上的SQL Serverteacher的数据表里面。

-----------------------------------------------------------------------------------------------------------------

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

转载于:https://www.cnblogs.com/gered/p/9133649.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/452404.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

横向技术分析C#、C++和Java优劣

本文将从技术人员的角度横向分析C#、C和Java优劣,其实选择Java阵营还是.NET阵营,大家可以根据自己的实际需要来确定。 C#诞生之日起,关于C#与Java之间的论战便此起彼伏,至今不辍。抛却Microsoft与Sun之间的恩怨与口角,…

软件测试中的存根程序

存根程序用来代替被测试的模块所调用的模块,因此存根程序也称为“虚拟子程序”,它利用被它代替的模块的接口,只做尽可能少的数据操作。

计算机网络应用云计算,计算机网络云计算的类型

原标题:计算机网络云计算的类型随着现代计算机网络技术的不断发展,越来越多的与计算机网络有关的现代化技术得以出现,并且有着广泛的应用,其中云计算技术就是比较常见的一种,在实际应用中发挥着较高的价值。在信息时代…

sublime_text快捷键

1、注释:选中文本后,CTRL / 2、CTRL N,CTRLS,保存成.html文件后,只需要输入感叹号!,然后tab键,即可打印出基本的html格式!转载于:https://www.cnblogs.com/JAVA-STUDYER/p/855040…

Diango博客--15.通过 Django Pagination 实现简单分页(一)

文章目录0.思路引导1.Paginator 类的常用方法2.用 Paginator 给文章列表分页3.在模板中设置分页导航4.效果展示0.思路引导 1)当博客上发布的文章越来越多时,通常需要进行分页显示,以免所有的文章都堆积在一个页面,影响用户体验。…

SpringMVC 测试 mockMVC

SpringMVC测试框架 基于RESTful风格的SpringMVC的测试,我们可以测试完整的Spring MVC流程,即从URL请求到控制器处理,再到视图渲染都可以测试。 一 MockMvcBuilder MockMvcBuilder是用来构造MockMvc的构造器,其主要有两个实现&…

自顶向下和自底向上测试的优缺点

自顶向下测试方法的主要优点是不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且能在早期发现上层模块的接口错误。 自顶向下测试方法的主要缺点是需要存根程序,可能遇到与此相联系的测试困难,低层关键模块中…

C++ class中的静态(static)成员

C class中的静态(static)成员 (1) 静态数据成员 ①一般地静态数据成员在该类定义之外被初始化,如同一个成员函数被定义在类定义之外一样。在这种定义中的静态成员的名字必须被其类名限定修饰,例如下面是_interestRate的初始…

用计算机弹可惜不是你,可惜不是你 还是幸亏不是你

一、 你没有再挽留 我也没有再回头 就这样 无风无雨也无晴 无疾而终二、 是我孤陋寡闻不知你心有人三、 如果作业有葬礼,全体学生定当盛装出席.四、 纵使我有千般好 你也看不到 因为你没有一双爱我的眼睛五、 原来暂时共你没缘分 来年先会变得更合衬六、 真的别回头 你有未来 你…

PHP 完整实战23种设计模式

PHP实战创建型模式 单例模式 工厂模式 抽象工厂模式 原型模式 建造者模式 PHP实战结构型模式 桥接模式 享元模式 外观模式 适配器模式 装饰器模式 组合模式 代理模式 过滤器模式 PHP实战行为型模式 模板模式 策略模式 状态模式 观察者模式 责任链模式 访问者模…

Diango博客--16.稳定易用的 Django 分页库,完善分页功能(二)

文章目录0.思路引导1.分页效果概述2.分页思路3.Django 第三方拓展:django-pure-pagination4.自定义模板0.思路引导 1)在前面我们通过 Django Pagination 实现简单分页 中,我们实现了一个简单的分页导航。但效果有点差强人意,我们…

回归测试

在集成测试过程中,每当一个新模块结合进来时,程序就发生了变化:建立了新的数据流路径,可能出现了新的I/O操作,激活了新的控制逻辑。在集成测试的范畴中,回归测试是指重新执行已经做过的测试的某个子集&…

不同的写法 其中 1 2 (试了下 没有效果 ,先记载这里把)

转载于:https://www.cnblogs.com/kaibindirver/p/9145455.html

美国西北大学 计算机工程专业排名,[转载]美国西北大学计算机工程研究生最新专业排名...

对于打算去美国西北大学读研究生的学生来讲,美国西北大学研究生申请要求及美国西北大学研究生专业介绍是学生最关心的问题。本文香港介绍美国西北大学研究生申请要求及美国西北大学研究生的专业介绍,帮助更多的学生更好的了解美国西北大学。2016年西北大…

析构函数virtual与非virtual区别

作为通常的原则,如果一个类定义了虚函数,那么它的析构函数就应当是virtual的。因为定义了虚函数则隐含着:这个类会被继承,并且会通过基类的指针指向子类对象,从而得到多态性。 这个类可能会被继承,并且会…

Python:字典列表字符串方法测试

测试的一些Python中的关于字典、列表、字符串的使用方法,放在这里备查。整个测试代码和说明如下: # -*- coding: utf-8 -*- """Python:函数中全是指针传递,而任何变量都是给予一个指针指向一个内存空间"""impo…

什么是确认测试

确认测试也称为验收测试,它的目标是验证软件的有效性。 通常,验证指的是保证软件正确地实现了某个特定要求的一系列活动;确认指的是为了保证软件确实满足了用户需求而进行的一系列活动。 软件有效性的一个简单定义是:如果软件的功…

Diango博客--17.统计各个分类和标签下的文章数

文章目录0.思路引导1.Model 回顾2.数据库数据聚合3.使用 Annotate4.在模板中引用新增的属性0.思路引导 在我们的博客侧边栏有分类列表和标签列表,显示博客已有的全部文章分类。现在想在分类名和标签名后显示该分类或者标签下有多少篇文章,该怎么做呢&am…

HTTP协议中request报文请求方法和状态响应码

一个HTTP请求报文由4部分组成: 请求行(request line)请求头部(header)空行请求数据下图给出了请求报文的一般格式: 请求行中包括了请求方法,常见的请求方法有: GET:从服务…

计算机无法安装64位操作系统,为什么我的win7旗舰版service Pack 1 64位操作系统 无法安装(KB2670838) 这个更新...

您好!我了解到您遇到关于这边的问题请问无法安装是否出现了什么错误代码提示呢?请参考以下的步骤解决按WindowsR打开cmd里使用下面的命令关闭相关的一些服务:net stop wuauservnet stop cryptSvcnet stop bitsnet stop msiserver完成后&#…