SQL Server 2005/2008 de password u boş olan SQL kullanıcılarını aşağıdaki SQL ile bulabilirsiniz:
select name
from sys.sql_logins
where pwdcompare('', password_hash) = 1
Yine aynı şekilde şifresi abc olan SQL kullanıcıların listesini aşağıdaki SQL ile alabilirsiniz:
declare @password sysname
set @password ='abc'
select name
from sys.sql_logins
where pwdcompare(@password, password_hash) = 1
@password değişkenini zayıf şifreleri içerecek şekilde genişletirseniz sisteminizde zayıf/tamin edilebilir şifreleri olan SQL kullanıcıların listesini alıp bu şifrelerin güçlü şifreler ile değiştirilmesini sağlayabilirsiniz.
Güvenlik için veritabanı sunucularınızda bulunan tüm SQL kullanıcılarınız için password policy uygulamayı unutmayın!
#DBA #SQL #Server #Performance #Tuning
2011-03-03
2011-02-27
Sistem View'lerinin Kodunu Alma
SQL Server'da bulunan sistem view'lerinin kodlarını OBJECT_DEFINITION() function'ı ile alabilirsiniz. Örneğin sys.databases system view ının içeriğini aşağıdaki kod ile alabilirsiniz:
SELECT OBJECT_DEFINITION(OBJECT_ID('sys.databases'));
SELECT OBJECT_DEFINITION(OBJECT_ID('sys.databases'));
2011-02-20
Tüm Kullanıcı Veritabanlarında Kullanıcı Oluşturma
Benim gibi var olan bir logini tüm kullanıcı veritabanlarında oluşturma ihtiyacınız olmuşsa aşağıdaki t-sql kod işinize yarayacaktır:
declare @username nvarchar(128)='SQLUser',
@SQLcommand varchar(8000)
set @SQLcommand =
'if db_id(''?'')>4
begin
USE ?
if not exists(select 1 from sys.sysusers where name=''' + @username + ''' ) create user [' + @username + '] for login [' + @username + ']
end
'
exec sp_msforeachdb @SQLcommand
declare @username nvarchar(128)='SQLUser',
@SQLcommand varchar(8000)
set @SQLcommand =
'if db_id(''?'')>4
begin
USE ?
if not exists(select 1 from sys.sysusers where name=''' + @username + ''' ) create user [' + @username + '] for login [' + @username + ']
end
'
exec sp_msforeachdb @SQLcommand
2011-02-19
Microsoft Türkiye Bilişim Zirvesi 2011
Microsoft Türkiye Bilişim Zirvesi, 11 Mart 2011 Cuma günü İstanbul Kongre Merkezi’nde gerçekleştirilecek. Etkinliğe Microsoft Türkiye Bilişim Zirvesi 2011 sayfası üzerinden kayıt olabilirsiniz. Etkinliğe ait ajanda aşağıdaki gibidir:
2011-02-03
Tüm Veritabanlardaki db_owner Yetkisine Sahip Kullanıcıların Listesi
Tüm veritabanlardaki db_owner'a sahip olan kullanıcıların listesini aşağıdaki tek satırlık kod ile alabilirsiniz:
exec sp_msforeachdb 'use ? exec sys.sp_helprolemember ''db_owner'''
exec sp_msforeachdb 'use ? exec sys.sp_helprolemember ''db_owner'''
2011-01-26
SQL Server Servisinin Başlangıç Tarihini Bulma
SQL Server servisi her start olduğunda tempdb yeniden oluşturulur. Bu yüzden tempdb veritabanının oluşma tarihi bize SQL Server servisinin başlama tarihini verir. SQL Server servisim ne zamandan beri açık diye merak edenler aşağıdaki sorgu ile cevaplarını bulabilirler:
select create_date
from sys.databases
where name = 'tempdb'
Aynı sonuca dm_os_sys_info DMV'sini kullanarak aşağıdaki kod ile de ulaşabilirsiniz:
select sqlserver_start_time
from sys.dm_os_sys_info
select create_date
from sys.databases
where name = 'tempdb'
Aynı sonuca dm_os_sys_info DMV'sini kullanarak aşağıdaki kod ile de ulaşabilirsiniz:
select sqlserver_start_time
from sys.dm_os_sys_info
2011-01-22
Error Log Dosya Sayısını Değiştirme
SQL Server'da default olarak bir adet Current ve 6 adet Archive Error Log dosyası tutulur. Archive logların sayısının yetmediği durumlarda bu sayıyı artırabilirsiniz.
SSMS kullanarak Management altından SQL Server Log'da mouse'ın sağ tuşunu tıklayıp aşağıdaki gibi Archive log dosya sayısını 6-99 arasında istediğiniz bir sayı verebilirsiniz. Ben bu sayıyı 11 olarak aşağıdaki gibi verdim:
SSMS GUI arayüzünü kullanmadan aşağıdaki kod ile de aynı işlemi yapabilirsiniz:
USE [master]
GO
EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'NumErrorLogs', REG_DWORD, 11
GO
2011-01-19
Tüm Kullanıcı Veritabanların Backup'ını Alma(sp_msforeachdb)
Daha önce de tüm kullanıcı veritabanların full backup'ını değişik yöntemlerle alacak kodları paylaşmıştım(Bkz.Tüm Kullanıcı Veritabanlarının Full Backup'ını Alma). Şimdi ise daha önce paylaşmış olduğum kodlardan daha kısa bir kod ile tüm kullanıcı veritabanların full backup'ını alacak kodu aşağıdaki gibi paylaşıyorum:
exec sp_msforeachdb 'if db_id(''?'')>4 backup database [?] to disk = ''c:\?.bak'' with init, compression;'
sp_msforeachdb undocumented stored procedure'ı oldukça yararlı ve çoğu yerde işimizi kolaylaştıran bir sp. Tüm veritabanlarında yapacağınız işlemleri bu sp ile halledebilirsiniz.
exec sp_msforeachdb 'if db_id(''?'')>4 backup database [?] to disk = ''c:\?.bak'' with init, compression;'
sp_msforeachdb undocumented stored procedure'ı oldukça yararlı ve çoğu yerde işimizi kolaylaştıran bir sp. Tüm veritabanlarında yapacağınız işlemleri bu sp ile halledebilirsiniz.
2011-01-17
Aktif Tüm SQL Joblarını Disable Etme
Geçenlerde bir veritabanı sunucusunda bulunan tüm aktif jobları pasif yapma ihtiyacım oldu. Bu ihtiyacımı aşağıdaki gibi T-SQL kodu yazarak giderdim:
declare @cmd varchar(max)=''
select @cmd=@cmd + 'exec msdb.dbo.sp_update_job @job_id=N' + '''' + cast(job_id as varchar(36)) + '''' + ', @enabled=0' + char(13)+char(10)+ 'go' + char(13) + char(10)
from msdb.dbo.sysjobs
where enabled=1
exec(@cmd)
Umarım bu T-SQL kodu sizin de işinize yarar.
-- Kodlar SQL Server 2008 ile test edilmiştir. Koddaki değişken atamaları SQL Server 2008 ve sonrası sürümleri gerektirir.
declare @cmd varchar(max)=''
select @cmd=@cmd + 'exec msdb.dbo.sp_update_job @job_id=N' + '''' + cast(job_id as varchar(36)) + '''' + ', @enabled=0' + char(13)+char(10)+ 'go' + char(13) + char(10)
from msdb.dbo.sysjobs
where enabled=1
exec(@cmd)
Umarım bu T-SQL kodu sizin de işinize yarar.
-- Kodlar SQL Server 2008 ile test edilmiştir. Koddaki değişken atamaları SQL Server 2008 ve sonrası sürümleri gerektirir.
2010-12-26
SQL Server Authentication Mode
SQL Server iki farklı şekilde bağlantıları kabul eder. Bunlar:
Windows Authentication
Bu modda sadece Windows login'leri ile SQL Server'a erişilebilir. Windows Authentication, Kerberos güvenlik protokolünü kullanır.
Mixed Mode Authentication(mixed)
Bu moddaki bir SQL Server'a hem Windows authentication hem de SQL Server authentication ile erişilebilir.
SQL Server kurulurken default olarak windows authentication mode'da kurulur. SQL Server'ınızı dilerseniz kurulum esnasında mixed mode(Windows and SQL Server Authentication Mode) olarak ayarlayabilirsiniz.
Aşağıdaki dört farklı yöntemde SQL Server'ınızın hangi Authentication Mode'a olduğunu öğrenebilirsiniz:
Windows Authentication
Bu modda sadece Windows login'leri ile SQL Server'a erişilebilir. Windows Authentication, Kerberos güvenlik protokolünü kullanır.
Mixed Mode Authentication(mixed)
Bu moddaki bir SQL Server'a hem Windows authentication hem de SQL Server authentication ile erişilebilir.
SQL Server kurulurken default olarak windows authentication mode'da kurulur. SQL Server'ınızı dilerseniz kurulum esnasında mixed mode(Windows and SQL Server Authentication Mode) olarak ayarlayabilirsiniz.
Aşağıdaki dört farklı yöntemde SQL Server'ınızın hangi Authentication Mode'a olduğunu öğrenebilirsiniz:
- SSMS Kullanarak :
SQL Server Management Studio Object Explorer'da , server adının üzerinde sağı tıklayarak, Properties'den Security sayfasında SQL Server Authentication modunu öğrenebilirsiniz.
- ServerProperty ile
serverproperty() fonksiyona IsIntegratedSecurityOnly parametresini verererek SQL Server'ın Authentication modunu öğrenebilirsiniz:
SELECT CASE SERVERPROPERTY('IsIntegratedSecurityOnly')
WHEN 1 THEN 'Windows Authentication Mode'
WHEN 0 THEN 'Mixed Mode'
END as [Authentication Mode]
- xp_instance_regread Extended Stored Procedure ile
LoginMode'ı registry'den okuyarak SQL Server'ın Authentication modunu öğrenebilirsiniz:
DECLARE @AuthenticationMode INT
EXEC master.dbo.xp_instance_regread N'HKEY_LOCAL_MACHINE',N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode', @AuthenticationMode OUTPUT
SELECT CASE @AuthenticationMode
WHEN 1 THEN 'Windows Authentication Mode'
WHEN 2 THEN 'Mixed Mode'
ELSE 'Unknown'
END as [Authentication Mode]
- xp_logininfo Extended Stored Procedure ile
EXEC master.sys.xp_loginconfig 'login mode'
2010-12-25
SQL Server 2008 SP2 ile Gelen Yenilikler
SQL Server 2008 SP2 ile gelen yenilikler:
•Her tablo için 15.000 partition desteği. Bu destek SQL Server 2008'in Enterprise, Developer ve Evaluation sürümlerinde geçerli. 15.000 partition desteği enable edilerek kullanılabilir. Bu özelliği enable ettiğiniz veritabanının backup'ını SQL Server 2008 SP2 öncesi bir sunucu da restore edemezsiniz!
•Reporting Servis'in SharePoint Integrated Mode desteği.
•SQL Server 2008 R2 uygulamalarını ve multi-server management özelliğini SQL Server 2008 ile birlikte kullanabilme(SQL Server 2008 R2 Utility Control Point ve DAC desteği).
•Her tablo için 15.000 partition desteği. Bu destek SQL Server 2008'in Enterprise, Developer ve Evaluation sürümlerinde geçerli. 15.000 partition desteği enable edilerek kullanılabilir. Bu özelliği enable ettiğiniz veritabanının backup'ını SQL Server 2008 SP2 öncesi bir sunucu da restore edemezsiniz!
•Reporting Servis'in SharePoint Integrated Mode desteği.
•SQL Server 2008 R2 uygulamalarını ve multi-server management özelliğini SQL Server 2008 ile birlikte kullanabilme(SQL Server 2008 R2 Utility Control Point ve DAC desteği).
Kaydol:
Kayıtlar (Atom)
.::YASAL UYARI::.
©2004-2025 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.
Site içeriği kaynak gösterilmek koşuluyla yayınlanabilir. Yazılan yazı ve yorumlar sadece yazı ve yorum sahiplerini bağlar.