j'ai couru sp_columns SomeTable
sur une table sur mon ordinateur local, et a été confondu par la sortie d'une colonne qui devrait être une colonne varbinary(max)
:Pourquoi sp_columns affiche-t-il 'image' comme type_name d'un type varbinary (max)?
TABLE_QUALIFIER TABLE_OWNER TABLE_NAME COLUMN_NAME DATA_TYPE TYPE_NAME PRECISION
--------------------------------------------------------------------------------------
MDB dbo SomeTable SomeColumn -4 image 2147483647
La partie déroutante est que cette colonne est une colonne varbinary (max) , mais le TYPE_NAME
répertorié ici est image
.
Donc, ma question est la suivante: pourquoi sp_columns
l'indique-t-il comme image
lorsqu'il s'agit d'un varbinary(max)
?
C'est sur Microsoft SQL Server 2016 (SP1-CU5) (KB4040714) - 13.0.4451.0 (X64)
Depuis 'sp_columns' date de SQL Server 6.0 ([Ref] (https://msdn.microsoft.com/en-us/library/aa226174 % 28v = sql.70% 29.aspx? F = 255 & MSPPError = -2147217396).) Probablement transporte quelques bagages le long de Ye Good Olde Days. Plutôt que de modifier le résultat renvoyé et de casser le code existant, il continue simplement à renvoyer un type maintenant obsolète. Ils ont beaucoup d'autres façons de briser le code existant. – HABO