Хранимая процедура sp_MShelpcolumns отсутствует в SQL-сервере Azure - PullRequest
0 голосов
/ 13 июня 2018

Моя проблема

Хранимая процедура [sys]. [Sp_MShelpcolumns] отсутствует в SQL-сервере Azure.

Мой запрос

  1. Должны ли мы создавать этот SP на Azure SQL Server?
  2. Или он существует под другим именем или в другом месте?
  3. Или у нас есть эквивалентный SP вAzure SQL Server?

Пожалуйста, предложите способ создания этой отсутствующей системы.

Ответы [ 2 ]

0 голосов
/ 13 июня 2018

В качестве обходного пути вы можете создать собственную хранимую процедуру, содержащую запрос, подобный приведенному ниже:

SELECT tbl.table_schema + '.' + tbl.table_name as "TABLE_NAME", COLUMN_NAME AS [Output]
    ,ORDINAL_POSITION, col.*
    --,prop.value AS [COLUMN_DESCRIPTION]
FROM INFORMATION_SCHEMA.TABLES AS tbl
INNER JOIN INFORMATION_SCHEMA.COLUMNS AS col ON col.TABLE_NAME = tbl.TABLE_NAME
INNER JOIN sys.columns AS sc ON sc.object_id = object_id(tbl.table_schema + '.' + tbl.table_name)     AND sc.NAME = col.COLUMN_NAME
WHERE tbl.table_schema <> 'sys' and tbl.table_name = 'TableName'
0 голосов
/ 13 июня 2018

Ответ зависит от того, почему вы этого хотите.Это очень старая недокументированная хранимая процедура, поэтому она не была представлена ​​в базе данных SQL Azure.Если вы хотите проверить метаданные каталога о столбцах в таблице, используйте sys.columns .

Если вам нужна эта хранимая процедура, потому что от нее зависит какой-то старый продукт, вы можете попробоватьсоздавая это самостоятельно.Это просто хранимая процедура, построенная на старых представлениях каталога, и вы можете написать ее из любого экземпляра SQL.Обратите внимание, что вы не сможете создать его в схеме 'sys', так что это будет работать только в том случае, если клиент выполнит его без квалификации схемы (что, вероятно, имеет место, так как этот процесс предшествует идее 'sys').схема).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...