今天在客户主服务器的sql server 2008上创建发布,无论如何过不去。
1. 第一个坑 提示:
标题: Microsoft.SqlServer.ConnectionInfo
------------------------------
SQL Server 无法将“USER-...\SQLEXPRESS”配置为分发服务器。
------------------------------
其他信息:
执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)
------------------------------
在执行 xp_cmdshell 的过程中出错。调用 'CreateProcess' 失败,错误代码: '5'。
目标路径 d:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\Data 无效。无法列出目录内容。请指定有效的目标路径。
已将数据库上下文更改为 'master'。 (Microsoft SQL Server,错误: 15121)
有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.4000&EvtSrc=MSSQLServer&EvtID=15121&LinkId=20476
以为是目录权限的问题,于是向客户要了管理员的账号和口令。在客户注视下再次执行同样的操作,提示还是一样。在客户面前狼狈哦,隔着屏幕感受到客户鄙视的小眼神~~
终于在csdn一个帖子的末尾,看到了不起眼的一行小文字:在执行xp_cmdshell的过程中出错,调用createprocess失败,错误代码5! [问题点数:100分,结帖人ivw
关闭360安全卫士后,新建发布的问题迎刃而解!
2. 第二个坑:MSDTC
这个错误的解决方法很简单:
有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.0.1600.22&EvtSrc=Microsoft.SqlServer.Management.UI.CreateSubWizardErrorSR&EvtID=CantGetPublicationList&LinkId=20476
------------------------------
其他信息:
执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)
------------------------------
服务器 'USER-G3G75D1I16\SQLEXPRESS' 上的 MSDTC 不可用。 (Microsoft SQL Server,错误: 8501)
有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.4000&EvtSrc=MSSQLServer&EvtID=8501&LinkId=20476
------------------------------
在发布服务器上启动服务 msdtc - 'distributed transaction coordinator' 即可。
3. 第三个坑:此事务中有活动的保存点
标题: 新建订阅向导
------------------------------
SQL Server 无法为订阅服务器“BWB_SERVER2”创建订阅。
------------------------------
其他信息:
执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)
------------------------------
无法将此事务提升为分布式事务,因为在此事务中有活动的保存点。
已将数据库上下文更改为 'ReportCLT_V20'。 (Microsoft SQL Server,错误: 3933)
有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.4000&EvtSrc=MSSQLServer&EvtID=3933&LinkId=20476
------------------------------
解决办法:在主服务器的sql上运行脚本:
EXEC sp_configure 'remote proc trans', '0';
RECONFIGURE;
4. 第四个坑:sql server用户无权订阅发布
'远程服务器 "serverName" 不存在,未被指定为有效的发布服务器,或您无权查看可用的发布服务器。'。
在主服务器上修改发布的权限,加入订阅用户即可。