症状:数据库迁移到另外一台服务器,重新在中间层服务器注册数据库账套,提示对象名“t_KDAccount_gl”无效,如下图:
原因:系统注册时默认select默认master表中的t_KDAccount_gl表,如果没有该表会报如上错误,如果创建了该表,但是没有对master的select或者update权限也会报错如下错误:拒绝了对对象‘t_kdaccount_gl’(数据库'master',架构'dbo')的SELECT/update权限:
解决方法:
1、在master增加表t_KDAccount_gl表,语句如下:
USE [master]
GO
/****** Object: Table [dbo].[t_kdaccount_gl] Script Date: 08/29/2017 10:29:25 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[t_kdaccount_gl](
[cid] [smallint] NULL,
[cacc_name] [varchar](255) NULL,
[cdbname] [varchar](255) NULL,
[DBuildDate] [datetime] NULL,
[DDuplicateDate] [datetime] NULL,
[cDBVersion] [varchar](20) NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
2、将K3数据库登录账号赋予master数据库t_KDAccount_gl表的select和update权限。
3、重新注册账套,系统会将账套信息写入master表,信息如下:
如上操作即可完成注册账套。