Login’leri Hash Password’leri ile Birlikte Oluşturmak

Published on 09 December 2013 by in Genel T-SQL / Okunma: 1,876

0

Production database’imizin bir clone’unu oluşturmak istediğimizde, login’lerin birebir password’leri ile birlikte yaratmamız gerekir. Bunun için aşağıdaki script ile loginlerin hash password’leri ile birlikte create script’ini almamız mümkün. SELECT ‘create login ['+p.name+'] ‘+ CASE WHEN p.type IN (‘U’ ,’G') THEN ‘from windows ‘ ELSE ” END+ ‘with ‘+ CASE WHEN p.type=’S’ THEN ‘password = ‘+MASTER.sys.fn_varbintohexstr(l.password_hash) +’ [...]

Continue Reading

msdb.dbo.sysjobs ile Bütün Job Detaylarına Erişim

Published on 06 November 2013 by in Genel T-SQL / Okunma: 1,755

0

Bazı instance’lar da çok fazla job tanımı olabiliyor. Bu durumda hangi job’un neyi tetiklediğini hemen görmemiz mümkün olamayabiliyor. Bu yüzden aynı ekranda hızlıca bütün job’ların detaylarını görmek isteriz. Bu durumda msdb.dbo.sysjobs ‘u msdb.dbo.sysjobsteps ile birleştirip kullandığımızda instance içerisindeki bütün job’ların detaylı bilgisine ulaşmamız mümkün. Aşağıdaki kod’u inceleyebilirsiniz.   SELECT distinct j.name AS [Job Name] , j.description [...]

Continue Reading

Random SELECT

Published on 16 May 2012 by in Genel T-SQL / Okunma: 1,134

0

Bir tablo dan random olarak select yapmak için çok fazla method vardır. Bunlardan en basidi ve en optimize olarak çalışanı benim için aşağıya yazdığım code bloğunda ki gibidir. İlk olarak RAND() kullanarak select yapabileceğimiz bir view oluşturuyoruz. Daha sonra bu view ‘i kullanacak bir fonksiyon yazıyoruz. Fonksiyon içerisindeki dönen veriyi float olarak set ediyoruz ve [...]

Continue Reading

Recursive CTE ile hiyerarşiyi yakalama

Published on 16 May 2012 by in Genel T-SQL, Veri Tipleri / Okunma: 1,466

0

Herzaman tablo yapınızda hiyerarşi veritipi (Hierarchical Datatype) kullanamaya bilirsiniz. Hiyerarşik bir düzeni listeleme işlemlerinde genelde hierarchyid ‘den yararlanilip yapilir. Daha önceden bununla alakalı bir makale yazmıştım. İlgili link ‘ten bu makaleye erişebilirsiniz (Hiyerarşik Veri Tipi (Hierarchical Datatype)) . Fakat bunun bir yolu daha var. O da recursive olarak CTE yazmak. Sonuc olarak tabikide hiyerarşik veritipinde [...]

Continue Reading

OPENROWSET kullanarak TXT’den Data Aktarımı

Published on 09 May 2012 by in Genel T-SQL / Okunma: 1,126

0

Microsoft.ACE.OLEDB.12.0 Provider’ı kullanılarak *.txt dosyasından OPENROWSET kullanarak tabloya data aktarımını aşağıdaki gibi gerçekleştirebilirsiniz. /* EXEC sp_configure ‘show advanced options’, 1; RECONFIGURE; EXEC sp_configure ‘Ad Hoc Distributed Queries’, 1; RECONFIGURE; GO */ INSERT INTO InsertTable ([UID], [CODE]) SELECT [UID], [CODE] FROM OPENROWSET ( ‘Microsoft.ACE.OLEDB.12.0′, ‘Text;Database=C:\; ‘, ‘SELECT [UID], [CODE] from inserts.txt’)  

Continue Reading

SQL Server 2012 – TSQL Debugging

Published on 20 April 2012 by in Genel T-SQL, SQL Server 2012 / Okunma: 1,647

0

SQL Server 2012 ile birlikte Visual Studio entegrasyonu artık tam anlamıyla sağlanmış durumda. SQL Server 2008 ‘de T-SQL code’umuzu debug yapmak istediğimizde Visual Studio’daki her ozelliği kullanamıyorduk. Örneğin code üzerinde belirttiğimiz Breakpoint’lere condition ekleyemiyor ve Breakpoint’lerimizi filtreleyemiyorduk. SQL Server 2012 ile birlikte artık debugging tam anlamıyla Visual Studio’da ki gibi SQL Developer’lar için conditional base [...]

Continue Reading

0

Database file’larındaki kullanılan ve kullanılmayan alanları kolaylıkla görmemize yarayan bir script. SELECT [DBFileName] = isnull(a.name,’*** Total ***’), [File Size (MB)] = convert(numeric(10,2),sum(round(a.size/128.,2))), [Used Space (MB)] = convert(numeric(10,2),sum(round(fileproperty( a.name,’SpaceUsed’)/128.,2))) , [Unused Space (MB)] = convert(numeric(10,2),sum(round((a.size-fileproperty( a.name,’SpaceUsed’))/128.,2))) , [Type] = case when a.groupid is null then ” when a.groupid = 0 then ‘Log File’ else ‘Data File’ [...]

Continue Reading

Anlık Olarak Query’leri Listeleyin

Published on 09 April 2012 by in Genel T-SQL / Okunma: 1,297

0

Anlık olarak çalışan query’leri aşağıdaki şekilde görüntüleyebilirsiniz. SELECT sqltext.TEXT, req.session_id, req.status, req.command, req.cpu_time, req.total_elapsed_time FROM sys.dm_exec_requests req CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS sqltext  

Continue Reading

0

Database’de ki bütün tabloların Satır Sayısı – Toplam Alanı – Veri Alanı – Index Alanını gösteren gayet kullanışlı bir script. –DB’deki bütün tabloların Satır Sayısı-Toplam Alanı-Veri Alanı-Index Alanını gösterir SELECT ROW_NUMBER() OVER ( ORDER BY TABLE_NAME ) AS TABLE_NO, TABLE_NAME, TABLE_SCHEMA INTO #Tablo FROM INFORMATION_SCHEMA.TABLES GO CREATE TABLE #TabloBilgileri ( [Tablo Adi] varchar(128), [Satir Sayisi] [...]

Continue Reading

Block’lanan session’larınızını denetleyin

Published on 07 March 2012 by in Genel T-SQL / Okunma: 1,359

0

Çoğu zaman block’lanan query’lerinizin neden, hangi query’ler tarafından, hangi session ID’leri ile block’landığını görmek istersiniz. Bunun için piyasada yaygın kullanılan çok fazla custom SP mevcut. Fakat aşağıdaki script ile çok detaylı olarak listelememiz mümkün oluyor. İstenildiği taktirde geliştirilmeye açık bir script ama şuan ki hali ile zaten hertürlü içeriği listelemek mümkün.   SELECT x.session_id AS [...]

Continue Reading