sql-server - 如何删除 PK 列/键上的 ROWGUID 指定

标签 sql-server tsql

我正在尝试剥离其当前 UID pks 的数据库(同时保留该列),作为将使用所有 int 键的转换过程的一部分。

SSMS 2008 (SQL Express 2008) - 最初在 SQL 2000 中创建的数据库。
如果有帮助,还安装了 SQL 2008 full。

许多表都有 UID pk 这是 ROWGUID=是

似乎 ROWGUID 名称只能在 KEY 属性中找到。我可以关掉它 有,但我想做 作为脚本的一部分 .如果我对键或索引执行 SCRIPT TO,我将看不到任何表明该列是 rowguid 的内容。

在删除 PK 并且键和索引不再显示在 SSMS 中之后,SMO 仍然将该列视为 rowguid。

我是一个 TSQL 白痴,所以可以慢慢说,用小词;-)

指导表示赞赏。 TIA

最佳答案

你试过了吗:

ALTER TABLE dbo.<table>
  ALTER COLUMN <column>
  DROP ROWGUIDCOL;

如果您要精通通过脚本更改表格(这是一个好主意,因为它是源代码可控的,比使用 UI 更可重复且更不容易出错),我会将 ALTER TABLE topic in Books Online 加入书签。 .

关于sql-server - 如何删除 PK 列/键上的 ROWGUID 指定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2066696/

相关文章:

SQL PIVOT 从列表中选择(IN SELECT)

c++ - 内存中分配的SQL小表

sql - 存储过程计算和性能改进

c# - 如何将 int 转换为字节数组?

sql-server-2008 - T-SQL : How does one handle an error in a print statement?

sql - 创建具有数字范围的临时表

sql-server - 将 Excel 表达式添加到 SQL 查询结果

sql-server - 为什么要使用 QUOTENAME 函数?

sql - 选择 SQL JOIN 失败的值

sql-server - 创建结构类型作为 T-SQL 的列值?