Просмотр зависимостей таблицы
Зависимости таблицы можно просмотреть в SQL Server с помощью SQL Server Management Studio или Transact-SQL.
В этом разделе
- Перед началом работыБезопасность
- Просмотр зависимостей таблицы с помощью следующих средств:Среда SQL Server Management StudioTransact-SQL
Перед началом
Безопасность
Разрешения
Необходимо разрешение VIEW DEFINITION в базе данных и разрешение SELECT на представление sys.sql_expression_dependencies в базе данных. По умолчанию разрешение SELECT предоставляется только членам предопределенной роли базы данных db_owner. Если разрешения SELECT и VIEW DEFINITION предоставлены другому пользователю, он может просматривать все зависимости в базе данных.
Использование среды SQL Server Management Studio
Просмотр объектов, от которых зависит таблица
- В Обозревателе объектовразверните узел Базы данных, разверните саму базу данных, а затем разверните узел Таблицы.
- Щелкните таблицу правой кнопкой мыши и выберите Просмотр зависимостей.
- В диалоговом окне Имя> объекта Зависимостиобъектов выберите объекты, зависящие отобъекта, или Объекты, от которыхобъекта .
- Выберите объект в сетке Зависимости . Тип объекта (например, «Триггер» или «Хранимая процедура») появится в поле Тип .
Использование Transact-SQL
Просмотр объектов, зависящих от таблицы
- В обозревателе объектовподключитесь к экземпляру компонента Компонент Database Engine.
- На стандартной панели выберите пункт Создать запрос.
- Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.
USE AdventureWorks2022; GO SELECT * FROM sys.sql_expression_dependencies WHERE referencing_id = OBJECT_ID(N'Production.vProductAndDescription'); GO
Просмотр зависимостей таблицы
- В обозревателе объектовподключитесь к экземпляру компонента Компонент Database Engine.
- На стандартной панели выберите пункт Создать запрос.
- Следующий пример возвращает объекты, которые зависят от таблицы Production.Product . Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.
USE AdventureWorks2022; GO SELECT * FROM sys.sql_expression_dependencies WHERE referenced_id = OBJECT_ID(N'Production.Product'); GO
Как посмотреть связи таблиц sql
Для просмотра связей между таблицами в SQL можно использовать системную таблицу INFORMATION_SCHEMA . INFORMATION_SCHEMA содержит метаданные о базе данных, включая информацию о таблицах, столбцах и связях.
Чтобы просмотреть связи между таблицами, можно использовать запрос следующего вида:
SELECT tc.constraint_name, tc.table_name, kcu.column_name, ccu.table_name AS foreign_table_name, ccu.column_name AS foreign_column_name FROM information_schema.table_constraints AS tc JOIN information_schema.key_column_usage AS kcu ON tc.constraint_name = kcu.constraint_name AND tc.table_schema = kcu.table_schema JOIN information_schema.constraint_column_usage AS ccu ON ccu.constraint_name = tc.constraint_name AND ccu.table_schema = tc.table_schema WHERE tc.constraint_type = 'FOREIGN KEY' AND tc.table_name='имя_таблицы';
Здесь имя_таблицы — это имя таблицы, связи которой вы хотите просмотреть.
Этот запрос вернет список всех внешних ключей в таблице, включая имя ключа, имя таблицы, столбец таблицы, связанный с внешним ключом, имя таблицы, связанной с внешним ключом, и соответствующий столбец в этой таблице. Эти данные могут помочь вам понять, как связаны различные таблицы в вашей базе данных.
Руководство. просмотреть и изменить данные в таблице
Теперь можно просматривать, изменять и удалять данные в существующей таблице с помощью визуального редактора данных.
В следующих процедурах используются сущности, созданные ранее с помощью руководства по разработке подключенной базы данных.
Визуальное редактирование данных в таблице с помощью редактора данных
- Щелкните правой кнопкой мыши таблицу Products в обозревателе объектов SQL Server и выберите Просмотреть данных.
- Запустится редактор данных. Обратите внимание на строки, которые мы добавили в таблицу в предыдущих процедурах.
- Щелкните правой кнопкой мыши таблицу Fruits в обозревателе объектов SQL Server и выберите Просмотреть данные.
- В редакторе данных введите 1 в поле Id и True в поле Perishable, а затем нажмите клавишу ВВОД или TAB, чтобы убрать фокус с новой строки и выполнить фиксацию в базу данных.
- Повторите описанный выше шаг: введите в таблицу значения 2, False и 3, False. Обратите внимание, что при изменении строки их всегда можно вернуть с помощью клавиши ESC.
- Чтобы просмотреть изменения в виде скрипта, нажмите кнопку Скрипт на панели инструментов. Кроме того, можно сохранить изменения в SQL-файле скрипта для последующего использования, нажав кнопку Вывести скрипт в файл.
- Щелкните правой кнопкой мыши базу данных Trade в обозревателе объектов SQL Server и выберите пункт Новый запрос. В редакторе введите select * from dbo.PerishableFruits и нажмите кнопку Выполнить запрос, чтобы вернуть данные, отображаемые в представлении PerishableFruits .
Обратная связь
Были ли сведения на этой странице полезными?
Как получить все связи между всеми таблицами в SQL Server?
Есть ли способ получения связей между таблицами в SqlServer? Я пробовал использовать SELECT INFORMATION_SCHEMA.KEY_COLUMN_USAGE , так как этот способ работал в MySQL, но в SQLServer KEY_COLUMN_USAGE не имеет атрибутов REFERENCED_COLUMN_NAME и REFERENCED_TABLE_NAME .
Отслеживать
задан 25 мая 2021 в 18:12
195 9 9 бронзовых знаков
Например, EXEC sp_fkeys ‘TableName’ docs.microsoft.com/ru-ru/sql/relational-databases/… А вообще в базе sys есть дофига интересных таблиц.
25 мая 2021 в 18:19
select * from sys.foreign_keys