YaH*_*zna 6 sql-server collation restore msdb sql-server-2014
将数据库迁移到具有默认排序规则 Latin1_General_CI_AS 的新 2014 服务器后,但在大多数数据库的排序规则为 Latin1_General_BIN 的情况下,尝试导入 Excel 电子表格会引发以下错误:
我已经将 sysdac_instances 跟踪到 msdb,它是一个系统视图,直接查询它会给出相同的错误。我希望有人能够指出我对这个问题的直接解决方案的方向?
奇怪的是,通过 SSMS 2008 运行导入是有效的。
该sysdac_instances
视图被定义为如下:
CREATE VIEW [dbo].[sysdac_instances]
AS
SELECT
-- this must be locked down because we use instance_id visability as a security gate
case
when (dbo.fn_sysdac_is_currentuser_sa() = 1) then dac_instances.instance_id
when sd.owner_sid = SUSER_SID() then dac_instances.instance_id
else NULL
end as instance_id,
dac_instances.instance_name,
dac_instances.type_name,
dac_instances.type_version,
dac_instances.description,
case
when (dbo.fn_sysdac_is_currentuser_sa() = 1) then dac_instances.type_stream
when sd.owner_sid = SUSER_SID() then dac_instances.type_stream
else NULL
end as type_stream,
dac_instances.date_created,
dac_instances.created_by,
dac_instances.instance_name as database_name
FROM sysdac_instances_internal dac_instances
LEFT JOIN sys.databases sd
ON dac_instances.instance_name = sd.name
Run Code Online (Sandbox Code Playgroud)
视图instance_name
对sys.databases.name
列执行连接。由于 的列定义sysdac_instances_internal.instance_name
未指定排序规则,因此它将采用 msdb 数据库的排序规则。
也许您从排序规则为 的实例中恢复了 msdb Latin1_General_BIN
,这会导致排序规则冲突。如果是这种情况,您需要重新创建 MSDB 数据库,因为它的排序规则不能被改变。
归档时间: |
|
查看次数: |
1412 次 |
最近记录: |