创建发布时无法生成快照,解决方法

引用 
主要是要注意权限的问题,一般做发布/订阅,建议你做如下准备工作:

1.发布服务器,订阅服务器都创建一个同名的windows用户,并设置相同的密码,做为发布快照文件夹的有效访问用户 
我的电脑 
--控制面板 
--管理工具 
--计算机管理 
--用户和组 
--右键用户 
--新建用户 
--建立一个隶属于administrator组的登陆windows的用户

2.在发布服务器上,新建一个共享目录,做为发布的快照文件的存放目录,操作:

我的电脑--D:\ 新建一个目录,名为: PUB 
--右键这个新建的目录 
--属性--共享 
--选择 "共享该文件夹 " 
--通过 "权限 "按纽来设置具体的用户权限,保证第一步中创建的用户具有对该文件夹的所有权限 
--确定

3.设置SQL代理(SQLSERVERAGENT)服务的启动用户(发布/订阅服务器均做此设置)

开始--程序--管理工具--服务 
--右键SQLSERVERAGENT 
--属性--登陆--选择 "此账户 " 
--输入或者选择第一步中创建的windows登录用户名 
-- "密码 "中输入该用户的密码

4.设置SQL Server身份验证模式,解决连接时的权限问题(发布/订阅服务器均做此设置)

企业管理器 
--右键SQL实例--属性 
--安全性--身份验证 
--选择 "SQL Server 和 Windows " 
--确定

5.在发布服务器和订阅服务器上互相注册 
企业管理器 
--右键SQL Server组 
--新建SQL Server注册... 
--下一步--可用的服务器中,输入你要注册的远程服务器名--添加 
--下一步--连接使用,选择第二个 "SQL Server身份验证 " 
--下一步--输入用户名和密码 
--下一步--选择SQL Server组,也可以创建一个新组 
--下一步--完成

6.对于只能用IP,不能用计算机名的,为其注册服务器别名 
(在连接端配置,比如,在订阅服务器上配置的话,服务器名称中输入的是发布服务器的IP) 
开始--程序--Microsoft SQL Server--客户端网络实用工具 
--别名--添加 
--网络库选择 "tcp/ip "--服务器别名输入SQL服务器名 
--连接参数--服务器名称中输入SQL服务器ip地址 
--如果你修改了SQL的端口,取消选择 "动态决定端口 ",并输入对应的端口号 
------解决方案--------------------
在SQL Server 2000里设置和使用数据库复制之前,应先检查相关的几台SQL Server服务器下面几点是否满足:

1、MSSQLserver和Sqlserveragent服务是否是以域用户身份启动并运行的(.\administrator用户也是可以的)

如果登录用的是本地系统帐户local,将不具备网络功能,会产生以下错误:

进程未能连接到Distributor ‘@Server name ‘

(如果您的服务器已经用了SQL Server全文检索服务, 请不要修改MSSQLserver和Sqlserveragent服务的local启动。 
会照成全文检索服务不能用。请换另外一台机器来做SQL Server 2000里复制中的分发服务器。)

修改服务启动的登录用户,需要重新启动MSSQLserver和Sqlserveragent服务才能生效。

2、检查相关的几台SQL Server服务器是否改过名称(需要srvid=0的本地机器上srvname和datasource一样)

在查询分析器里执行: 
use master 
select srvid,srvname,datasource from sysservers

如果没有srvid=0或者srvid=0(也就是本机器)但srvname和datasource不一样, 需要按如下方法修改:

USE master 
GO 
-- 设置两个变量 
DECLARE @serverproperty_servername varchar(100), 
@servername varchar(100) 
-- 取得Windows NT 服务器和与指定的 SQL Server 实例关联的实例信息 
SELECT @serverproperty_servername = CONVERT(varchar(100), SERVERPROPERTY( ‘ServerName ‘)) 
-- 返回运行 Microsoft SQL Server 的本地服务器名称 
SELECT @servername = CONVERT(varchar(100), @@SERVERNAME) 
-- 显示获取的这两个参数 
select @serverproperty_servername,@servername 
--如果@serverproperty_servername和@servername不同(因为你改过计算机名字),再运行下面的 
--删除错误的服务器名 
EXEC sp_dropserver @[email protected] 
--添加正确的服务器名 
EXEC sp_addserver @[email protected]_servername, @local= ‘local ‘

修改这项参数,需要重新启动MSSQLserver和Sqlserveragent服务才能生效。

这样一来就不会在创建复制的过程中出现18482、18483错误了。

3、检查SQL Server企业管理器里面相关的几台SQL Server注册名是否和上面第二点里介绍的srvname一样

不能用IP地址的注册名。

(我们可以删掉IP地址的注册,新建以SQL Server管理员级别的用户注册的服务器名)

这样一来就不会在创建复制的过程中出现14010、20084、18456、18482、18483错误了。

4、检查相关的几台SQL Server服务器网络是否能够正常访问

如果ping主机IP地址可以,但ping主机名不通的时候,需要在

winnt\system32\drivers\etc\hosts (WIN2000) 
windows\system32\drivers\etc\hosts (WIN2003)

文件里写入数据库服务器IP地址和主机名的对应关系。

例如:

127.0.0.1 localhost 
192.168.0.35 oracledb oracledb 
192.168.0.65 fengyu02 fengyu02 
202.84.10.193 bj_db bj_db

或者在SQL Server客户端网络实用工具里建立别名,例如:

5、系统需要的扩展存储过程是否存在(如果不存在,需要恢复):

sp_addextendedproc ‘xp_regenumvalues ‘,@dllname = ‘xpstar.dll ‘ 
go 
sp_addextendedproc ‘xp_regdeletevalue ‘,@dllname = ‘xpstar.dll ‘ 
go 
sp_addextendedproc ‘xp_regdeletekey ‘,@dllname = ‘xpstar.dll ‘ 
go 
sp_addextendedproc xp_cmdshell ,@dllname = ‘xplog70.dll ‘

接下来就可以用SQL Server企业管理器里[复制]-> 右键选择 
-> [配置发布、订阅服务器和分发]的图形界面来配置数据库复制了。

时间: 2024-12-28 16:06:07

创建发布时无法生成快照,解决方法的相关文章

WebServices生成发布过程及常见问题的解决方法

春夏秋冬走健康之路看四季养生网 健康饮食 养生问题 母婴保健 养生小常识 3.下一步,我们需要将Myservice文件夹拷贝到C:\Inetpub\wwwroot目录下(重要).如下图所示  然后依次右击“我的电脑”->“管理”->“服务和应用程序”->“Internet信息服务(IIS)管理器”打开IIS管理器,或者在控制面板中,通过“管理工具”打开“Internet信息服务(IIS)管理器”,如下图所示 展开“网站”节点,右键点击“默认网站”节点,依次选择“新建”->“虚拟目录

在IE浏览器中执行OpenFlashChart的reload方法时无法刷新的解决方法

由于项目需求,需要在网页上利用图表展示相关数据的统计信息,采用了OpenFlashChart技术.OpenFlashChart是一款开源的以Flash和Javascript为技术基础的免费图表,用它能创建一些很有效果的报表分析图表.最重要的是它是开源和免费的,支持多种语言.首先在官网上下载开发包,里面包含了所需的flash文件.js文件以及多种语言的demo,这些demo写的非常详细,可以进行参考开发.由于项目使用.net来开发,所以我学习了一下开发包中对应的dotnet代码,这个.net项目采

14.04麒麟为/检查磁盘时发生严重错误的解决方法

14.04麒麟为/检查磁盘时发生严重错误的解决方法 临时更改引导参数进入系统 进入Ubuntu启动菜单时,光标选中 *Ubuntu 后,按键盘上的 e 键,即可进入启动项编辑模式: 使用光标定位到如下图所示位置,将 ro 改成 rw 后,按 F10 键,即可按照修改后的参数引导进入系统: 修改启动项配置文件 点击左侧最上方按钮,然后输入 终端 ,然后点击进入 终端 程序: 输入 sudo gedit /etc/grub.d/10_lupin 后回车: 输入用户密码后回车,即可调用文本编辑器打开启

.net安装部署“Error 1001 在初始化安装时发生异常” 的解决方法

状况描述:打包安装后,如果删除安装目录中的某个文件,这时从桌面快捷方式启动软件系统会自动运行修复程序,此时因为路径问题会报出"错误 1001 在初始化安装时发生异常xxx"的异常.(前提是你的安装部署中加入了"自定义操作",并为其传值). 查找原因原来是"自定义操作"中CustomActionData值有误造成.未出错前的CustomActionData. /DbName=[DBNAME] /ServerName=[SERVERNAME] /Us

【php】thinkphp以post方式查询时分页失效的解决方法

好久没有写博客了,最近说实话有点忙,各个项目都需要改bug.昨天晚上一直没有解决的php项目中的bug,就在刚才终于搞定,在这里还需要感谢博客园大神给的帮助! 具体问题描述 最近遇到一个非常棘手的问题,也是因为刚入手thinkphp.在做项目的过程中,因为需要非常多的查询条件,如果以get方式提交表单的话,会因为url长度限制而报错,所以必须使用post方式提交表单数据,但是在分页的过程中,遇到了问题,因为thinkphp自带的分页是以a标签的形式,进行下一页的,这样查询条件就没有传入后台,导致

linux上备份Oracle时EXP-00091的错误解决方法

unix/linux上备份Oracle时EXP-00091的错误解决方法 unix/linux上备份数据时的错误解决方法 EXP-00091: Exporting questionable statistics.解决方法 今日EXP数据发现如下错误: EXP-00091: Exporting questionable statistics. . . exporting table                     TAXVOU3129    2904185 rows exported EX

WPF拖动DataGrid滚动条时内容混乱的解决方法

WPF拖动DataGrid滚动条时内容混乱的解决方法 在WPF中,如果DataGrid里使用了模板列,当拖动滚动条时,往往会出现列表内容显示混乱的情况.解决方法就是在Binding的时候给UpdateSourceTrigger赋值. <Grid> <Grid.RowDefinitions> <RowDefinition Height="25"></RowDefinition> <RowDefinition></RowDe

关于php读mysql数据库时出现乱码的解决方法

关于php读mysql数据库时出现乱码的解决方法 php读mysql时,有以下几个地方涉及到了字符集. 1.建立数据库表时指定数据库表的字符集.例如 create table tablename ( id int not null auto_increment, title varchar(20) not null, primary key ('id') )DEFAULT CHARSET =UTF8; 复制代码 2. mysql的字符集 mysql中有三个重要的变量,character_set_

CentOS 6.3 SSH连接时很慢的解决方法

SSH的配置文件,默认开启了DNS反向解析,这使得处于同一个局域网下的终端,在SSH到服务器的时候异常缓慢,如果从是外网SSH到服务器的话,速度则是正常的.我们只需要关闭DNS反向解析即可. 修改/etc/ssh/sshd_config文件 将 #UseDNS YES 修改为 UseDNS no 重启SSHD服务后问题解决. CentOS 6.3 SSH连接时很慢的解决方法