arÅŸiv

yazılar buna göre etiketlendi; ‘Sql Server’

Sql Server 2005 Kurulumunda MSXML 6 hatası..

Çarşamba, 25 Ağu 2010 yorum yok

Merhaba,
Dün başıma gelen bir problemin çözümünü sizlere anlatayım.Konu ile ilgili pek kaynak bulunmamakta.

Sql Server 2005 Express kurarken kurulum ekranında MSXML 6 ‘da hata verip kurulum iÅŸlemini gerçekleÅŸtirmiyordu.Bilgisayarda Service Pack 3 kurulu oldugundan dolayı MSXML6 üzerinde deÄŸiÅŸiklik iÅŸlemi yapılamıyor ya Service Pack 3′ü kaldırmanız ondan sonra Sql server 2005 Express’i kurmanız gerekiyor ama service pack 3 ü kaldırmak uzun iÅŸ kim uÄŸraşıcak : )

Onun yerine Windows Installer CleanUp Utility isimli tool indirip MSXML 6′yı kaldırmanız gerekiyor.Daha sonra Sql Server 2005′i rahat bir ÅŸekilde kurabiliyorsunuz.

Sql Server’daki Tüm Database’lerin YedeÄŸini Store Procedure ile Alın

PerÅŸembe, 08 Tem 2010 yorum yok
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
IF EXISTS (SELECT NAME FROM sysobjects WHERE NAME = 'BackupAllDBs' AND type = 'P')
	DROP PROCEDURE BackupAllDBs
GO
 
CREATE PROCEDURE BackupAllDBs
	@backup_location VARCHAR(256)
AS
BEGIN
 
	DECLARE @DBName VARCHAR(30)
	DECLARE @BackupFileName VARCHAR(256)
 
	IF @backup_location IS NULL OR LEN(RTRIM(@backup_location)) = 0
		SET @backup_location = 'C:/'
 
	DECLARE DBBackup_Cursor CURSOR FOR
		SELECT NAME FROM master.dbo.sysdatabases
		WHERE NAME NOT IN ('master','model','msdb','tempdb')  
 
	OPEN DBBackup_Cursor
	FETCH NEXT FROM DBBackup_Cursor INTO @DBName
 
	WHILE @@FETCH_STATUS = 0
	BEGIN
	       SET @BackupFileName = @backup_location + @DBName + '_' + CONVERT(VARCHAR(20),GETDATE(),112) + '.BAK'
	       BACKUP DATABASE @DBName TO DISK = @BackupFileName
	       FETCH NEXT FROM DBBackup_Cursor INTO @DBName
	END
 
	CLOSE DBBackup_Cursor
	DEALLOCATE DBBackup_Cursor
END
GO

Yukarıkaki Kod Blogu Sedat Salman Hocamız tarafından paylaşılmış.Bende gördüm Paylaşayım Dedim.Şimdi Ben Buradaki Olayın devamlılığını biraz daha açıklayayım..

Sql Server’a BaÄŸlanın ve New Query diyerek yukarıdaki sorguyu yazın amma öncelikle USE [DatabaseAdı] nı kullanınki O database’in altına atasın bu store Procedure’yi..

Daha sonra yapacağınız iÅŸ Yeni bir Job hazırlamak ve Job kısmında T-Sql kısmına execdbo.BackupAllDBs ‘C:\’ ÅŸeklinde bir parametre ile kullanın ve zamanlandırın bu iÅŸlemi..
İyi Çalışmalar..
Teşekkürler Sedat Hocam

SQL Server could not spawn FRunCM thread. Check the SQL Server error log and the Windows event logs for information about possible related problems

Cuma, 25 Haz 2010 yorum yok

Az önce başıma gelen bir problemdi kendisi.. instance kurulan bir sql hizmeti çalıştırmak istediÄŸimde çalışıtırıp tekrar hizmeti durduruyordu otomatik olarak.. sebebine baktığımda Olay görüntüleyecisinden “SQL Server could not spawn FRunCM thread. Check the SQL Server error log and the Windows event logs for information about possible related problems” bu tarz bir error yazmaktaydı. Hemen google amcaya durumu sorduÄŸumda bana Ekrem ÖNSOY hocamızın blogundaki yazıyı çıkarttı.inceledim orada antivirüs programının yapılandırılmasından bahsediyordu ama bende çalışan mevcut default kurulmuÅŸ instance’ı stoplayın yeni instance’ı start ettiÄŸimde problem düzeldi. Yani sanırım sorun su idi Mevcut calısan bir Sql Server hizmeti var iken Antivirüs programı ikinci hizmeti yada ikinci hizmet için atanan portu kabul etmiyordu. Karısık ama Sorunu çözdüm.. Sizlerede durumu anlatayım istedim.

İyi Günler İyi Çalışmalar..

T-SQL ile veritabanı oluşturma..

PerÅŸembe, 27 May 2010 yorum yok

SQL Server Management Studio’ yu açın, çalıştığınız Instance‘ a ait gerekli Login bilgilerini girerek sisteme giriÅŸ yapın. Instance’ ınız açıldıktan sonra, varsayılan olarak ekranın sol üst köşesinde bulunan “New Query” düğmesine tıklayın. Daha sonra aÅŸağıdaki T-SQL kodunu girin.

Yanlız Aşağıdaki T-Sql kodunda oluşan datanın yolu olarak D:\TSQLCreatedDB görmektedir.Ben D klasörünün içine TSQLCreatedDB isimli bir klasor oluşturdum.

CREATE DATABASE TestDB
ON (
NAME = ‘TestDB_Data’,
FILENAME = ‘D:\TSQLCreatedDB\TransactTestDB.mdf’,
SIZE = 20 MB,
FILEGROWTH = 0)
LOG ON (
NAME = ‘TestDB_Log’,
FILENAME = ‘D:\TSQLCreatedDB\TestDB_Log.ldf’,
SIZE = 5 MB,
FILEGROWTH = 0)

Yazdığınız zaman Query executed suspected yazını gördüğünüzde işleminiz tamamlanmıştır.

“NAME”Â
Karşısına, oluşturmak istediğiniz veritabanının adını yazın.

“FILENAME”Â
Karşısına, oluşturmak istediğiniz veritabanınızın veritabanı dosyasının nereye saklanmasını istiyorsanız orayı yazın. Unutmayın ki, belirttiğiniz yoldaki tüm klasörler önceden oluşturulmuş olmalıdır. Eğer belirttiğiniz yoldaki klasörlerden bir veya birkaçı mevcut değil ise, SQL Server bu klasörleri kendisi oluşturmayacaktır ve kod hata verecektir.

“SIZE”Â
Karşısına veritabanınızın ilk oluşturulma sırasında olmasını istediğiniz boyutunu girin.

“FILEGROWTH” = Veritabanınız zamanla büyüyecektir ve nihayet SIZE ile belirleyeceÄŸiniz sabit boyuta ulaÅŸacaktır. Filegrowth, bu sınıra gelindiÄŸinde devreye girer. Veritabanının boyutunun ne kadar arttırılacağı Filegrowth ile belirlenir. “0″ deÄŸeri, Filegrowth özelliÄŸinin kullanılmayacağı anlamına gelir. “20%” deÄŸeri girerek veritabanı boyutu “SIZE” sınırına gelindiÄŸinde, “SIZE” deÄŸerinin %20′ si kadar büyüyeceÄŸi; “5 MB” deÄŸeri girilerek de, bu sınıra gelindiÄŸinde 5 MB büyüyeceÄŸi belirtilmiÅŸ olur.

Veritabanı dosyasına *.mdf, Transaction Log dosyasına ise *.ldf uzantısı vermem belki dikkatinizi çekmiÅŸtir. Bu uzantıları özellikle verdim, çünkü standart olarak Primary Filegroup’ taki veritabanı dosyalarına *.mdf, Secondary ve diÄŸer Filegroup’ taki veritabanı doslarına ise *.ndf uzantıları verilir. Ayrıcas Transaction Log dosyalarına da *.ldf uzantısı verilir. 

Yeni bir veritabanı oluÅŸturduÄŸumuzda, ki örneÄŸimizde de, belirtmememize raÄŸmen “TestDB_Data” isimli veritabanımız Primary dosya grubunun üyesi olarak oluÅŸturulmuÅŸtur. TestDB_Data’ nın üyeliÄŸini deÄŸiÅŸtiremezsiniz. Dosya gruplarını (Filegroup) daha sonraki makalelerimde anlatacağım. Her veritabanında muhakkak bir “Primary Filegroup” ve bir adet “Transaction Log” bulunmaktadır.

Kısaca Dosya Grubu (Filegroup)
Dosya grupları temel olarak fiziksel olmaktan ziyade, mantıksal bir işlemdir. Veritabanlarını dosyalara böleriz ve bu dosyaların en çok işlenilenlerini de farklı sabit disklere koyarız ki, veritabanımızın performansını arttıralım. Bu konuya ayrıntılı olarak daha sonra döneceğim.

Transaction Log
Log dosyaları veritabanları için hayati öneme haizdirler. Bir veritabanına yapılacak olan her iÅŸlem, ilk önce istemci bilgisayardan yola çıkar, daha sonra SQL Server’ a ulaşır, burada doÄŸruluÄŸu denetlenir, daha sonra Transaction Log’ a iÅŸlenir ve en son olarak da veritabanındaki ulaşılmak istenen nesneleri etkiler. Yani her komut ilk önce Transaction Log’ lara iÅŸlenir. Bu da, yapılan her iÅŸlemin geri alınabileceÄŸi anlamına gelir.

KAYNAK olarak EKREM ÖNSOY‘un sitesi kullanılmıştır.
(EKREM Hocamızın anlattığın üstüne birde bizim anlatmamız yakışı kalmaz )

Sql server üzerinde While nasıl kullanılır ?

Cumartesi, 24 Nis 2010 yorum yok

SQL Server üzerinde WHILE kullanımını inceleyeceÄŸimiz basit bir örneÄŸimiz olacak. Bir veritabanı oluÅŸturup, bu veritabanının altında da test amaçlı kullanacağımız, tek kolondan oluÅŸan bir tablo oluÅŸturacağız. Sonrasında WHILE kullanarak, bu tablonun içerisindeki kolona 1 den 15 e kadar sayıları insert edeceÄŸiz. devamını oku…

Categories: Sql Server Tags: ,