SQL Server, nasıl sistem tabloları / görünümleri kullanarak belirli tablo için * Bütün * bağımlılıkları belirlemek mı?

oy
2

Ben tabloları sayısı damla ancak önce bu tablolar için tüm bağımlılıklarını tanımlamak gerekir bir DDL komut dosyası yazıyorum. Bu bağımlılık Tercihen, I sistem tabloları kullanılarak bu bağımlılıkları bırakarak programlı komut üzerinden istediğiniz özellikle de dış anahtar kısıtlamaları, depolanmış prosedürler, görüş içerir / bağımlı tablo bırakarak önce incelemeler.

Oluştur 09/09/2008 saat 21:43
kullanıcı
Diğer dillerde...                            


5 cevaplar

oy
-2

Bunu yapmak için sp_depends saklı yordamı kullanabilirsiniz:

USE AdventureWorks GO EXEC sp_depends @objname = N'Sales.Customer' ;

http://msdn.microsoft.com/en-us/library/ms189487(SQL.90).aspx

Cevap 09/09/2008 saat 21:58
kaynak kullanıcı

oy
1

sp_depends güvenilir bkz değildir: Eğer (hayır cinas tasarlamak) sp_depends bağlı Do

Cevap 09/09/2008 saat 22:02
kaynak kullanıcı

oy
3

Bu sıfırdan yazmak için son derece dağınık. Eğer böyle bir 3. taraf bir araç düşündünüz mü Kırmızı Kapısı SQL Bağımlılık Tracker ?

Cevap 09/09/2008 saat 22:06
kaynak kullanıcı

oy
0

Hep olsa biraz zaman alabilir bu .... syscomments masanın üzerinden arama olabilir ...

Cevap 09/09/2008 saat 22:09
kaynak kullanıcı

oy
0

Başvurabileceğiniz misiniz sysreferences?

select 'if exists (select name from sysobjects where name = '''+c.name+''') '
+' alter table ' + t.name +' drop constraint '+ c.name 
 from sysreferences sbr, sysobjects c, sysobjects t, sysobjects r
 where c.id = constrid 
  and t.id = tableid 
  and reftabid = r.id
  and r.name = 'my_table'

Yani koşullu bir sürü üretecektir drop constraintaramalar. Çalışmalı.

Cevap 18/06/2009 saat 02:23
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more