使用Sql server复制创建【发布】和【订阅】,创建完毕后,我删除生成的作业;结果导致无法删除创建的【发布】,郁闷!不知如何才能强制删除??请高手指点!!我是使用数据库管理员sa登陆的,权限是足够的!详细信息如下:===================================无法删除发布“PswDB_Test”。------------------------------
有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.0.1600.22&EvtSrc=Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.Replication.ReplicationMenuItem&EvtID=CantDeletePublication&LinkId=20476===================================执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)------------------------------
程序位置:   在 Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType)
   在 Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand)
   在 Microsoft.SqlServer.Replication.ReplicationObject.ExecCommand(String commandIn)
   在 Microsoft.SqlServer.Replication.ReplicationObject.CommonRemove()
   在 Microsoft.SqlServer.Replication.Publication.Remove()
   在 Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.Replication.ReplicationMenuItem.DeletePublication()===================================无法作为数据库主体执行,因为主体 "dbo" 不存在、无法模拟这种类型的主体,或您没有所需的权限。
已将数据库上下文更改为 'PassportDB'。 (.Net SqlClient Data Provider)------------------------------
有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.00.2531&EvtSrc=MSSQLServer&EvtID=15517&LinkId=20476------------------------------
服务器名称: webdev1
错误号: 15517
严重性: 16
状态: 1
过程: sp_replcmds
行号: 1
------------------------------
程序位置:   在 Microsoft.SqlServer.Management.Common.ConnectionManager.ExecuteTSql(ExecuteTSqlAction action, Object execObject, DataSet fillDataSet, Boolean catchException)
   在 Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType)

解决方案 »

  1.   

    看了一遍,就认识ExecuteNonQuery,这个是你调用的吗?
      

  2.   

    The error is coming from sp_replcmds - this is an extended system stored procedure used to execute various replication commands. From the error message, it appears to me that you are attempting to execute the replication command without the necessary level of privileges.
      

  3.   

    你说的有道理,但是如何解决呢?我使用sql server的windows身份登录还是无法删除。我使用的是SQL SERVER 2008
      

  4.   

    执行
    USE PassportDB
    GO
    EXEC sp_changedbowner 'sa'
    GO然后再删除试试
      

  5.   

    多谢楼上,我忽略了sa没有对此DB的权限多谢了啊!!!