sql >> Databáze >  >> RDS >> Sqlserver

Nepoužívejte sp_depends v SQL Server (je zastaralý)

SQL Server má systémovou uloženou proceduru s názvem sp_depends který vrací informace o závislostech mezi objekty v aktuální databázi.

Společnost Microsoft označila tuto uloženou proceduru jako zastaralou, což znamená, že je v režimu údržby a v budoucí verzi SQL Server může být odebrána. Měli byste se vyhnout použití sp_depends v nové vývojové práci a měli byste upravit aplikace, které jej aktuálně používají, aby používaly buď sys.dm_sql_referencing_entities() nebo sys.dm_sql_referenced_entities() místo toho (v závislosti na tom, zda potřebujete odkaz entity nebo odkazované entity, které mají být vráceny.

sys.dm_sql_referencing_entities() funkce dynamického řízení systému vrací seznam entit, které jsou závislé na dané entitě. Přesněji řečeno, vrací všechny entity v aktuální databázi, které odkazují na jinou uživatelem definovanou entitu jménem.

sys.dm_sql_referenced_entities() funkce systémové dynamické správy na druhé straně vrací seznam všech uživatelsky definovaných entit, na kterých závisí konkrétní entita. Přesněji řečeno, vrací všechny uživatelem definované entity, na které se odkazuje jménem v definici dané entity. Tuto funkci můžete použít pro entity napříč databázemi a mezi servery.

Nejste si jisti, zda aktuálně používáte sp_depends?

Pokud si nejste jisti, zda váš systém používá sp_depends , můžete vždy použít sys.dm_os_performance_counters zjistit. Toto zobrazení dynamické správy systému můžete použít k vrácení počtu, kolikrát byla každá zastaralá funkce nalezena od spuštění serveru SQL Server. Podívejte se na Nejrychlejší způsob, jak najít zastaralé funkce, které se stále používají v instanci SQL Server, kde najdete další informace a příklady.

Propracovanější metodou je použití rozšířených událostí k vytvoření souboru protokolu, který obsahuje další informace o každém použití zastaralé funkce. Můžete například zaznamenat informace, jako je příkaz SQL, který obsahuje zastaralou funkci, uživatele, který ji spustil, čas spuštění, databázi, ve které se nacházel a další. Pokyny krok za krokem, jak to provést, najdete v části Použití rozšířených událostí k protokolování zastaralých funkcí používaných v instanci serveru SQL.

Příručka k dokumentaci Microsoft

  • sp_depends
  • sys.dm_sql_referencing_entities
  • sys.dm_sql_referenced_entities
  • Zastaralé funkce databázového stroje v SQL Server 2017
  • Zastaralé funkce databázového stroje v SQL Server 2016 (stejné jako seznam 2017)

  1. Vytvořte uživatele z řetězcových proměnných v bloku PL/SQL

  2. Filtrování Django JSONField

  3. Vytvoření tabulky serveru SQL z datové tabulky C#

  4. Najděte řádky, kde textové pole obsahuje hodnotu podobnou vstupu