添加/创建新索引后,如何确保更新 INFORMATION_SCHEMA.KEY_COLUMN_USAGE。IE:
CREATE UNIQUE INDEX [UK_Common.UserConnection]
ON [Common.UserConnection] ([SessionId] ASC,[UserId] ASC);
GO
我必须要数据库,一个是从旧版本 (V1)转换/更新到新版本 (V10),另一个是全新的 (V10)数据库。当我比较数据库时,所有匹配项(包括 PK、FK、索引等)除了:
INFORMATION_SCHEMA.KEY_COLUMN_USAGE
我可以看到转换后的数据库中缺少我新创建的 uniq 索引([UK_Common.UserConnection] SessionId 和 UserId) 。与新 (V10) 数据库相比,转换后的数据库在“key_column_usage”表中的行数更少。
如果我从任何 sql ce 客户端应用程序中提取“创建 sql 表脚本”,则转换/更新和新 (V10) 脚本的脚本是相同的。
我试图在转换器中包含一个插入语句:
INSERT INTO [INFORMATION_SCHEMA.KEY_COLUMN_USAGE]
(COL0,COL1,COL2,COL3)
VALUES ('value0','value1','value2',value3)
GO
结果: 无法将数据添加到系统表或架构信息视图。[只读表的名称=@@INFORMATION_SCHEMA.KEY_COLUMN_USAGE]
我还尝试编写选择查询(rot to count key error)所在的旅馆.net。
("SELECT * FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE")
结果: 无法将数据添加到系统表或架构信息视图。[只读表的名称=@@INFORMATION_SCHEMA.KEY_COLUMN_USAGE]
问题与 asp.net 项目中的失败单元测试 (mstest) 有关: Assert.IsTrue 失败。键列使用次数不同。
您如何更新:INFORMATION_SCHEMA.KEY_COLUMN_USAGE 编辑/更改 INDEX 后?
.NET 4.0 SQL CE 4.0 VS2010