trigger etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
trigger etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

2022-02-09

Linked Server Kullanan Stored Procedure, View, Trigger, Function vs. Listesi

Veritabanı bazında linked server kullanan Stored Procedure, View, Trigger, Funtion vs bilgilere ve bunların kullandığı linked server, veritabanı adı, şema adı ve tablo adını aşağıdaki sorgu ile bulabilirsiniz:

SELECT DISTINCT 
DB_NAME() AS DatabaseName,
OBJECT_SCHEMA_NAME (ed.referencing_id) AS SchemaName,
OBJECT_NAME (ed.referencing_id) AS ObjectName,
ed.referenced_Server_name AS LinkedServerName,
ed.referenced_database_name AS LinkedServerDatabaseName,
ed.referenced_schema_name AS LinkedServerSchemaName,
ed.referenced_entity_name As LinkedServerTableName
FROM sys.sql_expression_dependencies ed WITH (NOLOCK)
WHERE referenced_database_name IS NOT NULL
AND  referenced_Server_name IS NOT NULL 

2021-01-13

Aranılan Bir İfadenin Geçtiği Tüm Stored Procedure, View, Function, Trigger vs. Listesini Bulma

/*

Bir ifadenin hangi veritabanındaki, hangi stored procedure, view, function, trigger vs. gibi modüllerde geçtiğini aşağıdaki script ile bulabilirsiniz. Script veritabanı ve şemaadı.nesne adına göre liste döndürür.

*/

exec sp_msforeachdb '
use [?]
select ''?'' as DatabaseName,object_schema_name(object_id) + ''.'' + object_name(object_id)
from    sys.sql_modules
where definition like ''%ARANILACAK İFADE%''
'

-- Script SQL Server 2017 ile test edildi.

2012-12-26

Silinen Bir SQL Modülünün Kodunu Geri Kurtarma

İki tarih arasında sildiğiniz trigger, stored procedure, view, function'ın kodunu aşağıdaki T-SQL kodu ile alabilirsiniz:

declare @StartDate Datetime='2012-01-01',
@EndDate Datetime='2013-01-01'

select convert(varchar(max),substring([rowlog contents 0],33,len([rowlog contents 0]))) as [script]
from fn_dblog(null,null)
where [operation]='lop_delete_rows' and [context]='lcx_mark_as_ghost'
and [allocunitname]='sys.sysobjvalues.clst'
and [transaction id] in (select distinct [transaction id] from    sys.fn_dblog(null, null)
where context ='LCX_NULL'
and operation ='LOP_BEGIN_XACT'
and [transaction name]='DROPOBJ'
and  convert(nvarchar(11),[Begin Time]) between @StartDate AND @EndDate)
and substring([RowLog Contents 0],33,len([RowLog Contents 0]))<>0

Not: T-SQL kod SQL Server 2012 ile test edildi.

.::YASAL UYARI::.

©2004-2023 Mehmet GÜZEL, www.mehmetguzel.net

Site içeriği kaynak gösterilmek koşuluyla yayınlanabilir. Yazılan yazı ve yorumlar sadece yazı ve yorum sahiplerini bağlar.