如何同步两个sqlserver数据库的内容?程序代码可以有版本管理cvs进行同步管理,可是数据库同步就非常麻烦,只能自己改了一个后再去改另一个,如果忘记了更改另一个经常造成两个数据库的结构或内容上不一致.各位有什么好的方法吗?
一、分发与复制
用强制订阅实现数据库同步 *** 作. 大量和批量的数据可以用数据库的同步机制处理:
//
说明:
为方便 *** 作,所有 *** 作均在发布服务器(分发服务器)上 *** 作,并使用推模式
在客户机器使用强制订阅方式。
二、测试通过
1:环境
服务器环境:
机器名称: zehuadb
*** 作系统:windows 2000 server
数据库版本:sql 2000 server 个人版
客户端
机器名称:zlp
*** 作系统:windows 2000 server
数据库版本:sql 2000 server 个人版
2:建用户帐号
在服务器端建立域用户帐号
我的电脑管理->本地用户和组->用户->建立
username:zlp
userpwd:zlp
3:重新启动服务器mssqlserver
我的电脑->控制面版->管理工具->服务->mssqlserver 服务
(更改为:域用户帐号,我们新建的zlp用户 .\zlp,密码:zlp)
4:安装分发服务器
a:配置分发服务器
工具->复制->配置发布、订阅服务器和分发->下一步->下一步(所有的均采用默认配置)
b:配置发布服务器
工具->复制->创建和管理发布->选择要发布的数据库(sz)->下一步->快照发布->下一步->选择要发布的内容->下一步->下一步->下一步->完成
c:强制配置订阅服务器(推模式,拉模式与此雷同)
工具->复制->配置发布、订阅服务器和分发->订阅服务器->新建->sql server数据库->输入客户端服务器名称(zlp)->使用sql server 身份验证(sa,空密码)->确定->应用->确定
1.如果是同一服务器:
假设 另一个数据库名为'数据库B',并且当然用户对两个数据库都有对应权限
select into [table] from [数据库B].[所有者].[表名]
2.如果不在同一服务器
select into [table] from opendatasource('sqloledb','data source=服务器名或IPuser id=登陆名password=口令').数据库B.表名
在执行的时候,要注意两个表的标示要写完整:数据库名.用户名.表名
例如:
insert into db1.yonghu1.bm
select * from db2.yonghu2.bm
db1和db2是数据库名,yonghu1和yonghu2是数据库的用户名,bm是表名。
1、打开php的编辑器sublime,新建一个文件,写上注释内容。
2、新建一个函数chaxun。
3、连接数据库,填写数据库的用户名,密码,主机名以及要使用的数据库。
4、填写查询的sql语句。select * from test1。
5、读取查询到的数据,我们这里用到的函数是fetch_assoc来实现。
6、调用这个函数。
7、打开本地的服务器,输入网址进行访问测试。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)