工程案例

SQL Server 2008发布订阅常见问题

来源:本站添加时间:2022-05-04 点击:
SQL 2008两台机器进行联机复制数据库,假设有两台SQL服务器 A和B,它们同在一个局域网,常见问题闭坑:
1.最好把两台机器设置同样的用户名和密码,如都是使用管理员账号administrator  密码都是使用 password,这样它们通过SQL Server Management Studio  互相访问的时候,直接输入对方的计算机名称,身份验证:WIndows身份验证(不需要输入密码),非常方便




2.如果想修改计算机名称,要在安装SQL之前修改,安装好SQL后修改计算机名称,会带来众多问题,如实例服务名称与计算机名称不同,服务名称为空等
通过如下SQL脚本可以查看 服务名称是否=计算机名称
use master
go
select @@servername
select serverproperty('servername')


如果SQL服务名称 不等于 计算机名称,通过如下脚本修改,使服务名称=计算机名
USE master
 GO
 if serverproperty('servername') <> @@servername  
begin  
       declare @server sysname  
       set   @server = @@servername  
       exec sp_dropserver @server = @server  
       set   @server = cast(serverproperty('servername') as sysname)  
       exec sp_addserver @server = @server , @local = 'LOCAL'  
end

3.文件同步问题 ,加入A 服务器进行发布数据库db1,B服务器进行订阅db1,则A B需有都可以访问的文件目录。当然也可以通过其他同步工具进行文件夹同步,或者使用ftp
如:把A 服务的 C:Program FilesMicrosoft SQL ServerMSSQL10.MSSQLSERVERMSSQLReplData 目录进行共享,B服务器增加对A服务器db1的订阅后,修改快照位置为备用位置,快照文件夹输入A的计算机名ReplData  如下图
A服务器上的server 服务是是打开状态,否则无法共享


在A服务器进行目录共享后,需要在B服务器进行访问\a服务器计算机名称ReplData   输入administrator 账号,密码 且记住密码 ,否则下一步设置无效



图2


4.SQL Server Agetn 代理 一定要启动,并且设置为自动,且权限给的足够大,如使用管理员权限,否则无法自动同步,或者提示权限不足

 

开始,运行,输入services.msc 把SQL代理设置为自动,且启动



5. 在以上步骤进行完成后,需要重新在B服务器上进行数据同步,本地订阅, 选中需要同步的数据库,查看同步状态

点击启动 开始同步


6.日志的查看
查看日志,应该A服务器(发布服务器)上查看,SQL管理控制台,SQL代理日志



或 右键 本地发布的数据库,启动复制监视器


7.如需删除发布的订阅,通过sql管理控制台非常卡,通过sql脚本很快
sp_removedbreplication 'dbname'
这里dbname 是A服务器上的'被发布数据库名称' ,而不是'发布名称'
  • 上一篇:没有了
  • 下一篇:没有了

首页
电话
短信
联系