sqlserver中 给字段添加注释时报错 对象无效。'dbo.sys_order.CreatorId' 不允许有扩展属性,或对象不存在。怎么解决
时间: 2024-04-12 12:30:35 浏览: 273
在SQL Server中,给字段添加注释需要使用扩展属性(Extended Property)。但是有时候会遇到对象无效的错误,可能是由于对象不存在或者不允许添加扩展属性。
要解决这个问题,可以按照以下步骤进行操作:
1. 确保要给字段添加注释的表和字段存在。可以使用以下查询语句验证:
```sql
SELECT * FROM sys.tables WHERE name = 'YourTableName'
```
```sql
SELECT * FROM sys.columns WHERE object_id = OBJECT_ID('YourTableName') AND name = 'YourColumnName'
```
2. 确保当前用户有足够的权限来添加扩展属性。需要具备ALTER权限或者有sysadmin角色的权限。
3. 使用sp_addextendedproperty存储过程来添加扩展属性。以下是添加字段注释的示例代码:
```sql
EXEC sp_addextendedproperty
@name = N'MS_Description',
@value = N'Your field description',
@level0type = N'SCHEMA', @level0name = 'dbo',
@level1type = N'TABLE', @level1name = 'YourTableName',
@level2type = N'COLUMN', @level2name = 'YourColumnName';
```
请确保将 'YourTableName' 替换为实际的表名,'YourColumnName' 替换为实际的字段名,并在 @value 参数中提供适当的字段描述。
如果仍然遇到问题,请检查数据库和表的完整性,确保没有任何损坏或错误。你还可以尝试重新创建表或重启数据库服务器来解决问题。
阅读全文