Ahm*_*sna 8 sql-server sql-server-2008-r2
我有一个使用Arabic_CI_AS
排序规则的现有数据库,但我需要将其转换SQL_Latin1_General_CP1_CI_AS
为服务器的默认排序规则,但问题是当我使用以下命令时:
USE master;
GO
ALTER DATABASE MyDB
COLLATE SQL_Latin1_General_CP1_CI_AS ;
GO
Run Code Online (Sandbox Code Playgroud)
它给了我以下错误消息:
消息 5075,级别 16,状态 1,第 1 行
对象“GetAllSuppliersInCompliance”依赖于数据库整理。如果模式绑定对象依赖于数据库排序规则,则无法更改数据库排序规则。删除对数据库排序规则的依赖,然后重试该操作。消息 5075,级别 16,状态 1,第 1 行
对象“GetTier1SupplierComplianceStatus”依赖于数据库整理。如果模式绑定对象依赖于数据库排序规则,则无法更改数据库排序规则。删除对数据库排序规则的依赖,然后重试该操作。.....消息 5072,级别 16,状态 1,第 1 行
ALTER DATABASE 失败。数据库“MyDB”的默认排序规则不能设置为 SQL_Latin1_General_CP1_CI_AS。
因此,我尝试使用以下命令暂时禁用约束:
EXEC sp_msforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT all"
Run Code Online (Sandbox Code Playgroud)
然后我执行了第一个命令,但是出现了同样的错误。
假设这些对象是存储过程或视图(而不是表),您需要:
顺便说一句,你不需要 sp_msforeachtable "ALTER TABLE..."
归档时间: |
|
查看次数: |
9158 次 |
最近记录: |