Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Znajdź uszkodzone obiekty w SQL Server

Możesz zainteresować się następującymi artykułami:

  • Michael J. Swart:Znajdź brakujące zależności SQL
  • eggheadcafe.com:Znajdź zepsute rzeczy

Możesz przetestować rozwiązanie Michaela J. Swarta w następujący sposób:

CREATE PROCEDURE proc_bad AS
    SELECT col FROM nonexisting_table
GO

SELECT
    OBJECT_NAME(referencing_id) AS [this sproc or VIEW...],
    referenced_entity_name AS [... depends ON this missing entity name]
FROM 
    sys.sql_expression_dependencies
WHERE 
    is_ambiguous = 0
    AND OBJECT_ID(referenced_entity_name) IS NULL
ORDER BY 
    OBJECT_NAME(referencing_id), referenced_entity_name;

Który powraca:

+------------------------+------------------------------------------+
| this sproc or VIEW...  |  ... depends ON this missing entity name |
|------------------------+------------------------------------------|
| proc_bad               |  nonexisting_table                       |
+------------------------+------------------------------------------+


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Uzyskaj identyfikator obiektu z jego nazwy w SQL Server:OBJECT_ID()

  2. Dlaczego przesyłanie/konwertowanie z int zwraca gwiazdkę

  3. Czy integracja SQL Server CLR obsługuje pliki konfiguracyjne?

  4. Zwróć informacje o kolumnie z serwera połączonego w programie SQL Server (przykłady T-SQL)

  5. Chcę użyć instrukcji CASE do aktualizacji niektórych rekordów w serwerze sql 2005