基于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 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
转载于:https://www.cnblogs.com/gered/p/9133649.html
基于Sql Server 2008的分布式数据库的实践相关推荐
- 基于Sql Server 2008的分布式数据库的实践(一)
原文 基于Sql Server 2008的分布式数据库的实践(一) 配置Sql Server 2008(Win7) 1.打开SQL server2012,使用windows身份登录 2.登录后,右键选 ...
- 基于Sql Server 2008的分布式数据库的实践(五)
基于Sql Server 2008的分布式数据库的实践(五) 原文 基于Sql Server 2008的分布式数据库的实践(五) 程序设计 ------------------------------ ...
- 基于Sql Server 2008的分布式数据库的实践(三)
原文 基于Sql Server 2008的分布式数据库的实践(三) 配置PHP 1.打开PHP配置文件,找到extension=php_mssql.dll,将前面的注释符号去掉 2.找到mssql.s ...
- 基于Sql Server 2000的分布式数据库的实践
摘 要:提出了如何充分利用 MS SQL Server 2000 的数据库管理特性,采用链接服务器.分布式分区视图和存储过程构建分布式数据库,以及基于数据库复制技术实现混合式的数据分布.实验实现了分布 ...
- [转]基于SQL Server 2008 Service Broker构建企业级消息系统
http://www.infoq.com/cn/articles/enterprisemessage-sqlserver-servicebroker 1.引言 Microsoft 在SQL Serve ...
- Sql Server 2008 实现不同数据库-表实时同步 本地发布/订阅
SQL server 不同数据库之间的表实时同步 图片大部分来自Sql Server 2008 实现不同数据库-表实时同步 本地发布/订阅 - 简书 有做适当的内容增加解释. 本地发布 1.新建发布 ...
- SQL Server 2008 R2 开启数据库远程连接
今天要测试一个.net系统~因为配置的数据库是SQL Server~我就不得不安装SQL Server 2008 R2~现在我们就一起来看看SQL Server 2008 R2是如何打开远程连接端口1 ...
- SQL Server 2008:示例数据库安装
SQL Server 2008终于正式发布了,官方网站提供了SQL2008的下载试用,不过有一点不爽的就是他居然把X86,X64和IA64三种处理器的版本放在了同一个ISO中,我使用的是X86的操作系 ...
- SQL Server 2008 R2开启数据库的远程连接及客户端配置
SQL Server 2008 R2如何开启数据库的远程连接 SQL Server 2008默认是不允许远程连接的,如果想要在本地用SSMS连接远程服务器上的SQL Server 2008,远程连接数 ...
最新文章
- 实战:车牌识别之车牌定位
- tkinter学习系列之(五)Checkbutton控件
- python telnet模块 more_[宜配屋]听图阁 - python 处理telnet返回的More,以及get想要的那个参数方法...
- linux系统怎么设置开机密码,Linux_Linux系统怎么设置开机密码?Linux设置开机密码的方法,为了保证Linux系统的安全,应 - phpStudy...
- Google开放最大目标检测数据集,还要为它举办AI挑战赛
- SSIS连接-左外连接
- Python学习笔记8—Python函数
- asp网络编程:Web程序中网页间数据传递方法小结
- 【图像增强】基于matlab暗通道图像去雾【含Matlab源码 1226期】
- Python A value is trying to be set on a copy of a slice from a DataFrame
- 什么是边界扫描(boundary scan)?
- writeUP-[第五空间2019 决赛]PWN5(待进一步完善待研究内容)
- 如何制作电话号码二维码?
- amCharts 报表(转)
- calcite解读专栏前言
- WeChat苹果多开系统官网下载页源码
- C++ 位域(Bit Fields)
- 文本合成图像栩栩如生,仿佛拥有人类的语言想象力:OpenAI祭出120亿参数魔法模型!...
- mysql查询本用户的表的列名等信息_mysql常用命令查询手册
- 大型分布式服务器架构原理详解
热门文章
- 【CodeForces - 485B】Valuable Resources (贪心,水题,几何相关)
- android 存储不被垃圾清理,手机内存足够大,就不需要清理垃圾了?你错了!
- python 爬虫 博客园_Python爬虫爬取博客园作业
- 云昆明理工大学 计算机复试,2012年昆明理工大学计算机考研复试试题(回忆版)...
- python循环post请求_循环post请求太多
- boot lib分离 spring_spring boot + gradle打包bootJar分离lib
- JS实现图片循环滚动
- leetcode96. 不同的二叉搜索树 动归vs数学?
- (十)nodejs循序渐进-高性能游戏服务器框架pomelo之介绍和安装篇
- 深度学习(10)-- Capsules Networks(CapsNet)