14 个解决方案
#1
需具体看环境
#2
分发数据库是分发哪个数据库?在什么路径下?
订阅数据库的目录路径对应文件夹是否存在
订阅数据库的目录路径对应文件夹是否存在
#3
分发数据库是分发db1库,数据文件和日志文件路径在D:\db1\data\2015。
分发数据库的数据文件夹和日志文件夹是:D:\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Data
快照文件夹:D:\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\ReplData
注:所有的目录都是存在的
#4
你指的是什么环境呢?
#5
大概是权限的问题。
不要用sa登录,而是改用Windows身份验证登录试试。
不要用sa登录,而是改用Windows身份验证登录试试。
#6
你说的这个方法也试过,还是不行。我执行xp_cmdshell 'dir c:'都提示:执行xp_cmdshell的过程中出错,调用createprocess失败,错误代码5。我把xp_cmdshell禁用后,再执行这个又提示:SQL Server 阻止了对组件 'xp_cmdshell' 的 过程 'sys.xp_cmdshell' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'xp_cmdshell'。有关启用 'xp_cmdshell' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。
#7
有什么办法可以使xp_cmdshell 'dir c:'执行显示出结果呢?我估计把这个搞定问题应该就解决了。现在执行是提示:执行xp_cmdshell的过程中出错,调用createprocess失败,错误代码5
#8
到控制面板的服务中,把SQL Server服务的启动帐户从NetworkService更改为LocalSystem(或者直接用本地系统帐户)。
重启服务。
重启服务。
#9
这个我昨天也试过,下面是我服务的启动方式截图。
#10
A)把其它 SQL Server 的服务都改为 LocalSystem 吧。不确定具体用到哪个服务。
B)把那个目录设为EveryOne可用。
B)把那个目录设为EveryOne可用。
#11
这方法也试过了,还是不行。我现在不用复制了,改用数据库链接解决问题了,多谢。
#12
8楼的意思 应该是 “SQL Server 配置管理器” 里面的服务登录身份更改为LocalSystem,你这个截图是windows系统服务里面的服务使用用户,两个地方是不一样的,你再仔细看下,
#13
好像看错了,是一样的;
#14
我也遇到了类似问题。不过幸运的是,我在开发的服务器上是好的,但是在用户的服务器上运行时遇到了这个问题。两台服务器上的SQL SERVER 都是2005,操作系统都是 WINDOWS SERVER 2008。由于数据库都是我自己安装的,安装选项完全一样。但是用户的服务器操作系统不是我安装的,所以我直接怀疑是用户服务器上的安全设置问题。
对比了两台服务器的安全设置,最后找到问题所在:
只要把“网络安全:LAN管理器身份验证级别”双击打开,选择“发送 LM 和 NTLM 响应”(原来是“没有定义”)。确认后,重新启动服务器,该问题即能解决。
对比了两台服务器的安全设置,最后找到问题所在:
只要把“网络安全:LAN管理器身份验证级别”双击打开,选择“发送 LM 和 NTLM 响应”(原来是“没有定义”)。确认后,重新启动服务器,该问题即能解决。
#1
需具体看环境
#2
分发数据库是分发哪个数据库?在什么路径下?
订阅数据库的目录路径对应文件夹是否存在
订阅数据库的目录路径对应文件夹是否存在
#3
分发数据库是分发db1库,数据文件和日志文件路径在D:\db1\data\2015。
分发数据库的数据文件夹和日志文件夹是:D:\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Data
快照文件夹:D:\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\ReplData
注:所有的目录都是存在的
#4
你指的是什么环境呢?
#5
大概是权限的问题。
不要用sa登录,而是改用Windows身份验证登录试试。
不要用sa登录,而是改用Windows身份验证登录试试。
#6
你说的这个方法也试过,还是不行。我执行xp_cmdshell 'dir c:'都提示:执行xp_cmdshell的过程中出错,调用createprocess失败,错误代码5。我把xp_cmdshell禁用后,再执行这个又提示:SQL Server 阻止了对组件 'xp_cmdshell' 的 过程 'sys.xp_cmdshell' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'xp_cmdshell'。有关启用 'xp_cmdshell' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。
#7
有什么办法可以使xp_cmdshell 'dir c:'执行显示出结果呢?我估计把这个搞定问题应该就解决了。现在执行是提示:执行xp_cmdshell的过程中出错,调用createprocess失败,错误代码5
#8
到控制面板的服务中,把SQL Server服务的启动帐户从NetworkService更改为LocalSystem(或者直接用本地系统帐户)。
重启服务。
重启服务。
#9
这个我昨天也试过,下面是我服务的启动方式截图。
#10
A)把其它 SQL Server 的服务都改为 LocalSystem 吧。不确定具体用到哪个服务。
B)把那个目录设为EveryOne可用。
B)把那个目录设为EveryOne可用。
#11
这方法也试过了,还是不行。我现在不用复制了,改用数据库链接解决问题了,多谢。
#12
8楼的意思 应该是 “SQL Server 配置管理器” 里面的服务登录身份更改为LocalSystem,你这个截图是windows系统服务里面的服务使用用户,两个地方是不一样的,你再仔细看下,
#13
好像看错了,是一样的;
#14
我也遇到了类似问题。不过幸运的是,我在开发的服务器上是好的,但是在用户的服务器上运行时遇到了这个问题。两台服务器上的SQL SERVER 都是2005,操作系统都是 WINDOWS SERVER 2008。由于数据库都是我自己安装的,安装选项完全一样。但是用户的服务器操作系统不是我安装的,所以我直接怀疑是用户服务器上的安全设置问题。
对比了两台服务器的安全设置,最后找到问题所在:
只要把“网络安全:LAN管理器身份验证级别”双击打开,选择“发送 LM 和 NTLM 响应”(原来是“没有定义”)。确认后,重新启动服务器,该问题即能解决。
对比了两台服务器的安全设置,最后找到问题所在:
只要把“网络安全:LAN管理器身份验证级别”双击打开,选择“发送 LM 和 NTLM 响应”(原来是“没有定义”)。确认后,重新启动服务器,该问题即能解决。