SQL Azure не поддерживает information_schema, но поддерживает таблицы sys. * (По крайней мере, те, которые вам нужны).
http://msdn.microsoft.com/en-us/library/ee336238.aspx#catalog
Вы можете использовать следующее:
Select * from sys.foreign_keys fk
inner join sys.foreign_key_columns fkc on fkc.constraint_object_id = fk.object_id
Чтобы получить информацию о столбцах или информацию об индексе, обратитесь к следующим системным таблицам sys.таблицы, sys.indexes и sys.columns.Стандартные представления каталога sys немного сложнее в использовании, чем представления сверху, которые соответствуют стандартам ANSI.
Триггер базы данных, о котором я говорил в своем комментарии, приведен ниже.Это не обрабатывает экземпляр создания fk on table create, но может быть легко расширено для обработки других ситуаций.Это обеспечит точную реализацию этой информации в виде триггера ddl
--drop trigger test on database
create trigger test on DATABASE
for ALTER_TABLE,RENAME
AS
set nocount on
--get XML event and extract table and schema
DECLARE @data XML
SET @data = EVENTDATA()
declare @idoc int
EXEC sp_xml_preparedocument @idoc OUTPUT, @data
--indicate if table needs to be reloaded
declare @boolean bit
set @boolean = 0
--check conditions where keys change
SELECT @boolean = 1
FROM OPENXML (@idoc, '/EVENT_INSTANCE/AlterTableActionList/Create/Constraints',2) x
SELECT @boolean = 1
FROM OPENXML (@idoc, '/EVENT_INSTANCE/AlterTableActionList/Drop/Constraints',2) x
if @boolean =1
begin
--Create the table initially with below line
--select * into MyInformationSchemaFKs from INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
--Reloads the table if there are constraint changes
truncate table MyInformationSchemaFKs
insert into MyInformationSchemaFKs
select * from INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
end
EXEC sp_xml_removedocument @idoc
go