Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL सर्वर क्रॉस डेटाबेस निर्भरता प्राप्त करना

आप अपने परिणामों की तुलना उन परिणामों से कर सकते हैं जो निम्न स्क्रिप्ट को मिलते हैं। यहां संपूर्ण लेख

CREATE PROCEDURE [dbo].[get_crossdatabase_dependencies] AS

SET NOCOUNT ON;

CREATE TABLE #databases(
    database_id int, 
    database_name sysname
);

INSERT INTO #databases(database_id, database_name)
SELECT database_id, [name]
FROM sys.databases
WHERE 1 = 1
    AND [state] <> 6 /* ignore offline DBs */
    AND database_id > 4; /* ignore system DBs */

DECLARE 
    @database_id int, 
    @database_name sysname, 
    @sql varchar(max);

CREATE TABLE #dependencies(
    referencing_database varchar(max),
    referencing_schema varchar(max),
    referencing_object_name varchar(max),
    referenced_server varchar(max),
    referenced_database varchar(max),
    referenced_schema varchar(max),
    referenced_object_name varchar(max)
);

WHILE (SELECT COUNT(*) FROM #databases) > 0 BEGIN
    SELECT TOP 1 @database_id = database_id, 
                 @database_name = database_name 
    FROM #databases;

    SET @sql = 'INSERT INTO #dependencies select 
        DB_NAME(' + convert(varchar,@database_id) + '), 
        OBJECT_SCHEMA_NAME(referencing_id,' 
            + convert(varchar,@database_id) +'), 
        OBJECT_NAME(referencing_id,' + convert(varchar,@database_id) + '), 
        referenced_server_name,
        ISNULL(referenced_database_name, db_name(' 
             + convert(varchar,@database_id) + ')),
        referenced_schema_name,
        referenced_entity_name
    FROM ' + quotename(@database_name) + '.sys.sql_expression_dependencies';

    EXEC(@sql);

    DELETE FROM #databases WHERE database_id = @database_id;
END;

SET NOCOUNT OFF;

SELECT * FROM #dependencies;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एमडीएफ फ़ाइल संलग्न करते समय SQL सर्वर संस्करण त्रुटि

  2. SQL सर्वर में लॉजिकल या ऑपरेटर क्या है - SQL सर्वर / TSQL ट्यूटोरियल पार्ट 119

  3. एसक्यूएल क्वेरी - ध्वज के आधार पर सभी रिकॉर्ड प्राप्त करें

  4. क्या मैं प्रत्येक n सेकंड में एक संग्रहित प्रो को कॉल करने के लिए SQL सर्वर प्राप्त कर सकता हूं?

  5. संग्रहीत कार्यविधि 'dbo.aspnet_CheckSchemaVersion' नहीं ढूँढ सका