通过链接服务器在 SQL 服务器中导入 OLAP 元数据导致日期超出范围

Importing OLAP metadata in SQL Server via linked server results in out-of-range date

目前,我正在尝试使用以下简单查询从 SQL 服务器(通过链接服务器)中的 OLAP 多维数据集提取元数据:

select *
into [dbo].[columns_metadata]
from openquery([LINKED_SERVER], '
    select *
    from $System.TMSCHEMA_COLUMNS
')

但在结果集中,有一个名为 RefreshedTime 的列,其值为 31.12.1699 00:00:00。

由于这个值,查询给出了这个错误信息:

Msg 8114, Level 16, State 9, Line 1 Error converting data type (null) to datetime.

问题是我需要运行查询而不在SELECT语句中指定列。

你知道避免这个错误的技巧吗?

我知道你不想明确提及这些列,但如果没有人能建议一种方法让它处理 1699-12-31 日期,那么你可以回退到这个:

select *
into [dbo].[columns_metadata]
from openquery([LINKED_SERVER], '
SELECT [ID]
      ,[TableID]
      ,[ExplicitName]
      ,[InferredName]
      ,[ExplicitDataType]
      ,[InferredDataType]
      ,[DataCategory]
      ,[Description]
      ,[IsHidden]
      ,[State]
      ,[IsUnique]
      ,[IsKey]
      ,[IsNullable]
      ,[Alignment]
      ,[TableDetailPosition]
      ,[IsDefaultLabel]
      ,[IsDefaultImage]
      ,[SummarizeBy]
      ,[ColumnStorageID]
      ,[Type]
      ,[SourceColumn]
      ,[ColumnOriginID]
      ,[Expression]
      ,[FormatString]
      ,[IsAvailableInMDX]
      ,[SortByColumnID]
      ,[AttributeHierarchyID]
      ,[ModifiedTime]
      ,[StructureModifiedTime]
      ,CStr([RefreshedTime]) as [RefreshedTime]
      ,[SystemFlags]
      ,[KeepUniqueRows]
      ,[DisplayOrdinal]
      ,[ErrorMessage]
      ,[SourceProviderType]
      ,[DisplayFolder]
from $System.TMSCHEMA_COLUMNS
')