C# 我可以禁用表';s主索引,并在删除完成后重新启用?

C# 我可以禁用表';s主索引,并在删除完成后重新启用?,c#,sql-server,.net-3.5,C#,Sql Server,.net 3.5,当我从Sql表执行删除操作时,我将如何以编程方式执行以下操作 // SqlCommand ??? // do: ALTER TABLE tbl_CustomerInfo DROP CONSTRAINT PK_tbl_CustomerInfo // ...perform deletions // SqlCommand ??? // do: ALTER TABLE tbl_CustomerInfo ADD CONSTRAINT PK_tbl_CustomerInfo PRIMARY KEY

当我从Sql表执行删除操作时,我将如何以编程方式执行以下操作

// SqlCommand ???
// do: ALTER TABLE tbl_CustomerInfo DROP CONSTRAINT PK_tbl_CustomerInfo

//   ...perform deletions

// SqlCommand ???
// do: ALTER TABLE tbl_CustomerInfo ADD CONSTRAINT PK_tbl_CustomerInfo PRIMARY KEY CLUSTERED (RecordID)
我想我的问题是,我能用这些ALTER语句创建一个SqlCommand对象吗

更新
下面显示了查找重复记录然后删除的方法。

如果您连接到sql server的用户帐户具有发出DDL语句的相应权限,则选择“是”

不过,我会考虑违反安全规定,甚至允许这样的事情发生。


请参阅如何构造命令。

我相信是这样,但我将等待专家……)你这么做是为了什么?因为如果删除引用主键,它们的执行速度就不会像索引存在时那么快。@OMG Ponies:这就是我们没有DBA来帮助我们的原因。OMG Ponies是仅次于有DBA的最佳选择。+1,但是“安全违规”可能是一种奇怪的说法,“你到底为什么要用C#sqlcommand来做这件事?”我倾向于同意安全违规问题。再说一次,我们这里没有任何DBA类型的人。我必须在飞行中学习SqlServer的东西,因为我需要它。不是最好的,但这就是我所拥有的。@marr75:是和否。如果应用程序有权执行DDL语句,那么任何破解应用程序的人都有权执行这些语句。因此,违反安全规定。应用程序执行时,用户只能执行那些绝对必要的功能。这通常是正常的CRUD语句。