Recent comments

None


İçerik Ara











Yasal Uyarı
Bu sitede sunulan tüm bilgi ve dökümanlar Turgay Sahtiyan tarafından yazılmaktadır. Yazıların kaynak göstermek şartıyla kullanılması serbesttir.

© Copyright 2009-2013
Takvim
<<  Haziran 2017  >>
PaSaÇaPeCuCuPa
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789
Keywords

SQL Server 2012 AlwaysOn availability group kuruluşu yaparken aşağıdaki hatayı alaiblirsiniz.

Msg 41131, Level 16, State 0, Line 2
Failed to bring availability group 'availability_group' online. The operation timed out. Verify that the local Windows Server Failover Clustering (WSFC) node is online. Then verify that the availability group resource exists in the WSFC cluster. If the problem persists, you might need to drop the availability group and create it again.

[more]

Aynı Availability group kuruluşunu TSQL ile yaparsanız hata şu şekilde olacaktır.

Msg 41066, Level 16, State 0, Line 1
Cannot bring the Windows Server Failover Clustering (WSFC) resource (ID '8d0cd20e-f78b-413e-b4e4-b293e52630bd') online (Error code 5018).  The WSFC service may not be running or may not be accessible in its current state, or the WSFC resource may not be in a state that could accept the request.  For information about this error code, see "System Error Codes" in the Windows Development documentation.
Msg 41160, Level 16, State 0, Line 1
Failed to designate the local availability replica of availability group 'AGContoso1' as the primary replica.  The operation encountered SQL Server error 41066 and has been terminated.  Check the preceding error and the SQL Server error log for more details about the error and corrective actions.
Msg 41152, Level 16, State 2, Line 1
Failed to create availability group 'AGContoso1'.  The operation encountered SQL Server error 41160 and has been rolled back.  Check the SQL Server error log for more details.  When the cause of the error has been resolved, retry CREATE AVAILABILITY GROUP command.

SQL Server Error Log’da ilgili hatalara baktığınızda ise şu mesajları göreceksiniz;

2013-06-26 20:43:26.86 spid59      The state of the local availability replica in availability group 'AGContoso1' has changed from 'NOT_AVAILABLE' to 'RESOLVING_NORMAL'. The replica state changed because of either a startup, a failover, a communication issue, or a cluster error. For more information, see the availability group dashboard, SQL Server error log, Windows Server Failover Cluster management console or Windows Server Failover Cluster log.
2013-06-26 20:43:27.01 Logon       Error: 18456, Severity: 14, State: 5.
2013-06-26 20:43:27.01 Logon       Login failed for user 'CORP\CONTOSOSQL2$'. Reason: Could not find a login matching the name provided. [CLIENT: <local machine>]
2013-06-26 20:43:27.05 spid59      The state of the local availability replica in availability group 'AGContoso1' has changed from 'RESOLVING_NORMAL' to 'NOT_AVAILABLE'. The replica state changed because of either a startup, a failover, a communication issue, or a cluster error. For more information, see the availability group dashboard, SQL Server error log, Windows Server Failover Cluster management console or Windows Server Failover Cluster log.

Hatanın sebebi [NT AUTHORITY\SYSTEM] account’unun SQL Server login listesinde bulunmamasıdır. Bu account’u aşağıdaki makalede anlatıldığı gibi tüm Availability Group replica’larda create edersiniz yukarıdaki hatalardan kurtulabilirsiniz.

http://support.microsoft.com/kb/2847723/en-us

Not : Blog haricinde, faydali gördügüm yazilari ve linkleri twitter adresimden paylasiyorum. Beni twitter'da takip etmek için : twitter.com/turgaysahtiyan


29.04.2013 Pazartesi günü yapacağım webcast’in duyurusunu yapmak istiyorum.

SQL Server 2012 Upgrade ve Migration metodları üzerine konuşacağımız webcast saat 14:00’da başlayacak.

Özellikle halihazırda kullandığı SQL Server veritabanlarını SQL Server 2012’ye taşımak isteyenlerin katılmasını önerdiğim bu webcast’e aşağıdaki linki kullanarak kayıt olabilirsiniz.

https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032543843&Culture=TR-TR

Not : Blog haricinde, faydali gördügüm yazilari ve linkleri twitter adresimden paylasiyorum. Beni twitter'da takip etmek için : twitter.com/turgaysahtiyan


19 Mart 2013 Salı (Yarın) günü yapacağım webcast’in duyurusunu yapmak istiyorum.

SQL Server 2012 yenilikleri üzerine konuşacağımız webcast saat 10:00’da başlayacak.

Kayıt olmak için aşağıdaki linki kullanabilirsiniz.

Başlangıcı: 19 Mart 2013 Salı 10:00 
Saat dilimi: (GMT+02:00) 
Süre: 1 saat
Kayıt Linki : http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200178672&CR_EAC=300073606

Not : Blog haricinde, faydali gördügüm yazilari ve linkleri twitter adresimden paylasiyorum. Beni twitter'da takip etmek için : twitter.com/turgaysahtiyan


SQL Server 2012 ile beraber gelen güvenlik yeniliklerinden biri de windows group’lar için default schema atayabilme özelliğidir. Bugünkü makalemde bu konu üzerine konuşuyor olacağız.

[more]

SQL Server 2012’den önceki sürümlerde herhangi bir windows ya da domain group SQL Server üzerinde yetkilendirilirken default schema ataması yapılamıyordu. Dolayısıyla bu group’un içerisinde bulunan bir kullanıcı eğer dbo yetkisinde değil ise oluşturduğu objelerin scheması kendi adını alıyordu. Bu da yönetilebilirliği azaltan bir durumdu.

SQL Server 2012 ile beraber artık windows group’lara default schema atayabilmekteyiz. Dolayısıyla artık aynı grup vasıtasıyla yetkilendirilen 100’lerce login kendi schema’larını değil default schema olarak atanan schema’yı kullanabilecekler.

Şimdi bu dediklerimizi ufak bir örnek yaparak pekiştirelim. Örnekleri hem 2008 hem 2012 instance’ımda yapacağım ve aralarındaki farkı göstermeye çalışacağım.

İlk olarak aşağıdaki TSQL komutları vasıtasıyla WinGroup1 adındaki windows login’i için yeni bir login create ediyoruz ve daha sonra da bu login için deneme1 veritabanında yeni bir user create ediyoruz.

USE [master]
GO
CREATE LOGIN [TURGAYS03\WinGroup1] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
GO
USE [deneme1]
GO
CREATE USER [TURGAYS03\WinGroup1] FOR LOGIN [TURGAYS03\WinGroup1]
GO

Farklılık bu noktadan sonra başlamakta. Aşağıdaki script ile WinGroup1 user’ına default schema ataması yapmak istiyorum. SQL Server 2012’de çalışan bu kod, SQL Server 2008’de bu özellik desteklenmediği için hata almakta.

USE [deneme1]
GO
CREATE SCHEMA [WinGroup1] AUTHORIZATION [TURGAYS03\WinGroup1]
GO
USE [deneme1]
GO
ALTER USER [TURGAYS03\WinGroup1] WITH DEFAULT_SCHEMA=[WinGroup1]
GO

SQL Server 2008’de alınan hata aşağıdaki gibi.

Msg 15259, Level 16, State 2, Line 1
The DEFAULT_SCHEMA clause cannot be used with a Windows group or with principals mapped to certificates or asymmetric keys.

Aynı işlemi SSMS üzerinden yaparsak ;

image

Default schema atama işlemini SQL Server 2008’de yapamadığımızı gördük. Peki bu durum tam olarak ne gibi bir sıkıntı oluşturmakta.

Aynı user’a table create etme hakkı verip daha sonra bu grubun içerisinde olan bir user ile SSMS’I açıp tablo create ediyoruz.

use [deneme1]
GO
GRANT CREATE TABLE TO [TURGAYS03\WinGroup1]
GO

--Aşağıdaki işlem WinGroup1 windows grubunun içinde bulunan
--WinUser1 kullanıcı ile SSMS açılıp yapılmıştır.
use [deneme1]
GO
create table denemetbl(a int)

Bu işlemi SQL Server 2012’de yaptığımızda gruba hangi schemayı default olarak atadıysak yeni create ettiğimiz table’ın scheması’da bu schema oluyor.

Fakat aynı işlemi SQL Server 2008’de yaptığımızda, default schema ataması yapamadığımızdan dolayı yeni create edilen user’ın schema’sı kullanıcı adı (WinUser1) olmakta.

Grubun içinde 100’lerce kullanıcı olduğunu düşünün. Bu durumda her kullanıcı için ayrı schema oluşturulacağı için yönetilebilirlik oldukça azalacaktır. Ayrıca kullanıcının silinmesi gerekliliğinde de schema değişiklikleri yapılması gerekmekte ki bu durum çoğu durumda oldukça sıkıntı çıkarmakta.

Not : Blog haricinde, faydali gördügüm yazilari ve linkleri twitter adresimden paylasiyorum. Beni twitter'da takip etmek için : twitter.com/turgaysahtiyan


SQL Server 2012 SP1’i aşağıdaki adresten yükleyebilirsiniz.

http://www.microsoft.com/en-us/download/details.aspx?id=35575

Not : Blog haricinde, faydali gördügüm yazilari ve linkleri twitter adresimden paylasiyorum. Beni twitter'da takip etmek için : twitter.com/turgaysahtiyan


10 Ekim 2012 Çarşamba günü yapacağım webcast’in duyurusunu yapmak istiyorum.

SQL Server 2012 yenilikleri üzerine konuşacağımız webcast saat 10:00’da başlayacak.

Kayıt olmak için aşağıdaki linki kullanabilirsiniz.

Başlangıcı: 10 Ekim 2012 Çarşamba 10:00
Saat dilimi: (GMT+02:00)
Süre: 1 saat 30 dakika
Kayıt Linki : https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032527841&Culture=TR-TR&community=0

Not : Blog haricinde, faydali gördügüm yazilari ve linkleri twitter adresimden paylasiyorum. Beni twitter'da takip etmek için : twitter.com/turgaysahtiyan


You can find the free ebooks below.

clip_image002  clip_image003  clip_image004 

clip_image005  clip_image007  clip_image008

clip_image009  clip_image010  Moving to Visual Studio 2010

Programming Windows Phone 7

Enjoy Smile

Not : Blog haricinde, faydali gördügüm yazilari ve linkleri twitter adresimden paylasiyorum. Beni twitter'da takip etmek için : twitter.com/turgaysahtiyan


12 Eylül 2012 Çarşamba günü yapacağım webcast’in duyurusunu yapmak istiyorum.

SQL Server 2012 ile beraber gelen yeni High Availability çözümü olan AlwaysOn üzerine konuşacağımız bu webcast 10:00’da başlayacak.

Kayıt olmak için aşağıdaki linki kullanabilirsiniz.

Başlangıcı: 12 Eylül 2012 Çarşamba 10:00
Saat dilimi: (GMT+02:00)
Süre: 1 saat 30 dakika
Kayıt Linki : https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032527839&Culture=TR-TR&community=0

Not : Blog haricinde, faydali gördügüm yazilari ve linkleri twitter adresimden paylasiyorum. Beni twitter'da takip etmek için : twitter.com/turgaysahtiyan


Bildiğiniz gibi “Alter Database” komutu, veritabanının recovery model, collation gibi veritabanı özelliklerini değiştirmek için kullanılır. SQL Server 2012 sürümünden önce veritabanı adının verilerek yapılması gereken bu işlemin örnek kodu aşağıdaki gibiydi;

alter database deneme set recovery simple

SQL Server 2012 ile beraber artık veritabanı adını belirtmemize gerek kalmıyor. “Current” keyword’ü ile o anda aktif olan veritabanı üzerinde Alter Database komutunu çalıştırabiliyoruz.

Örneğin aşağıdaki komut “deneme” veritabanının recovery model’ini simple yapmak için kullanılabilir.

use deneme
go

alter database current set recovery simple
Not : Blog haricinde, faydali gördügüm yazilari ve linkleri twitter adresimden paylasiyorum. Beni twitter'da takip etmek için : twitter.com/turgaysahtiyan


SQL Server kullanan müşterilerde yeni gelen güzel özelliklerinden dolayı SQL Server 2012’ye upgrade planlari yavaş yavaş yapılmaya başlandı. Sizin de bu tarz bir planınız var ise 450+ sayfadan oluşan aşağıdaki technical guide’ın oldukça işinize yarayacağına eminim.

SQL Server 2012 Upgrade Technical Guide

Not : Blog haricinde, faydali gördügüm yazilari ve linkleri twitter adresimden paylasiyorum. Beni twitter'da takip etmek için : twitter.com/turgaysahtiyan


SQL Server 2012 RTM olduktan sonra büyük projelerde kullanılmaya şimdiden başlandı. Tabii ki sistemlerdeki best practice kullanımları oldukça önemli. SQL Server 2012 BPA tool’u ile sistemlerin best practice kontrollerini kullanışlı bir arayüz ile rahatça yapabiliriz.

Tool’u aşağıdaki adresten indirebilirsiniz.

http://www.microsoft.com/en-us/download/details.aspx?id=29302

SQL Server 2012 BPA tool’unun kurulum ve kullanımı SQL Server 2008 R2 sürümü için çıkarılan Best Practice Analyzer tool’una oldukça benzemekte. Bu konu ile alakalı yazdığım detaylı makaleye buradan erişebilirsiniz.

Best Practice’ler ile dolu günler geçirmeniz dileğiyle :)

Not : Blog haricinde, faydali gördügüm yazilari ve linkleri twitter adresimden paylasiyorum. Beni twitter'da takip etmek için : twitter.com/turgaysahtiyan


SSDT makale serimin 10. makalesine geldik. Bu makalede Refactor özellikleri ile objelerin isim ve schema gibi bilgilerinin hızlı bir şekilde nasıl değiştirilebileceğine bakıyor olacağız.

[more]

Refactor menüsü ile aşağıdaki işlemleri yapabiliriz.

1

  • Rename : Obje adını ve refere edildiği yerlerin tamamını değiştirmek için kullanılır.
  • Move to Schema : Objenin schema’sını değiştirmek için kullanılır.
  • Expand Wildcards : select sorgularındaki “*” kısmını kolon adlarına dönüştürmek için kullanılır.
  • Fully-qualify Names : select sorgusundaki kolon adlarını full qualified hale dönüştürmek için kullanılır.

Rename

Objenin adını refere edildiği yerler de dahil olmak üzere değiştirmek için kullanılır.

AdventureWorks projesi altındaki uspGetManagerEmployees SP’sini açalım ve Person.Contact yazısı üzerindeyken sağ tuş menüsünden Refactor >> Rename butonunu tıklayalım.

2

Gelen ekranda Contact tablosu için yeni bir isim belirleyelim. Örneğin ContactNew yapalım.

3

Preview Changes yazısı tıklı ise değişiklik yapılması gereken bütün refere edilen objelerin listesi bir sonraki ekranda karşımıza çıkacaktır. Bu ekrandaki objeler bir önceki makalemde anlattığım Find All References bilgisi ile aynı olacaktır.

4

Değiştirilecek bütün yerlerin ön izlemesine yaptıktan sonra Apply butonuna basarak değişikliklerin yapılmasını sağlayabiliriz.

İşlemler tamamlandığında Person.Contact tablosunun geçtiği her yer Person.ContactNew olarak değişecektir.

5

Move to Schema

Yukarıdaki örnekte anlattığım gibi objenin schema’sını hızlı bir şekilde refere edildiği tüm yerler ile beraber değiştirmeye yarar.

Expand Wildcards

Bu özellik ile “select *” sorgusunu “select kolonadlari” şekline dönüştürebiliriz.

Örneğin şu şekilde bir SP’miz olduğunu düşünelim.

6

Mouse “yıldız (*)” ‘ın üzerinde iken sağ tık menüsünden Refactor >> Expand Wildcards butonunu tıklarsak “*” kolon adlarına dönüşecektir.

7

Fully-qualify Names

Bir önceki örnekteki kolon adlarını full qualified names yani alias’lar kolon adlarının önünde olacak şekilde değiştirmeye yarar.

Person.Contact tablosu üzerinde iken sağ tık menüsünden Refactor >> Fully-qualify Names butonunu tıklarsak;

8

Bütün kolon adlarının önüne alias konularak full qualified hale dönüştürülecektir.

9

Refactor menüsü ile kod değişiklikleri yapmak oldukça kolay bir hale getirilmiş durumda. Bu özelliğe en kısa zamanda alışmanızı tavsiye ederim.

Bir sonraki SSDT makalemde görüşmek üzere.

Not : Blog haricinde, faydali gördügüm yazilari ve linkleri twitter adresimden paylasiyorum. Beni twitter'da takip etmek için : twitter.com/turgaysahtiyan


SSDT makale serimin 9. makalesinde development yaparken işleri kolaylaştıran 2 kod navigasyon yardımcısından, Go To Definition ve Find All References özelliklerinden bahsedeceğim.

[more]

Bu özelliklerin ikisine de Visual Studio kullanan kişilerin aşina olduklarını düşünüyorum. Go To Definition ile objenin tanımlandığı kod bloğuna, Find All References ile ise objenin refere edildiği yerlerin bilgisine erişebiliriz.

Go To Definition

AdventureWorks projemiz içindeki uspGetManagerEmployees SP’sini çift tıklayarak açalım ve mouse Person.Contact tablosu üzerinde iken mouse’un sağ tuş menüsünden Go To Definition butonuna basarak bu tablonun create script’ine erişebiliriz.

1

Find All References

Aynı tablonun yani Person.Contact tablosunun tüm refere edildiği yani kullanıldığı yerleri bulmak için sağ tuş menüsünden Find All References butonunu tıklıyalım.

2

Referans listesi alt tarafta Find Symbol Results penceresinde görüntülenecektir. Bu listedeki istediğimiz bir satıra tıklayarak referansın yapıldığı script bloğuna erişebiliriz.

3

Bir sonraki SSDT makalemde görüşmek üzere.

Not : Blog haricinde, faydali gördügüm yazilari ve linkleri twitter adresimden paylasiyorum. Beni twitter'da takip etmek için : twitter.com/turgaysahtiyan


Daha önce SQL Server 2012 Management Studio aracında code snippet kullanımını şu makalemde incelemiştik. Bugün ise SSDT aracında Code Snippets kullanımına bakıyor olacağız.

[more]

Code Snippets’ın ana amacı daha hızlı kod geliştirmektedir. Tablo, SP, View oluşturmak gibi SQL Server üzerinde yapılabilecek her script işleminin örnek kodunu barındıran Code Snippets, intellisence özelliği ile beraber kod geliştirmeye oldukça hız kazandırmaktadır.

Script ekranında Code Snippets’a sağ tık menüsünden ya da CTRL+K,CTRL+X tuş kombinasyonu ile ulaşabiliriz.

0

Örneğin Table bölümünden Create Table ile ilk kod parçacığımızı ekleyelim.

1

Eklediğimiz kod bloğunda tabii ki bazı değişiklikler yapmamız gerekmekte. Değiştirilmesi gereken yerler sarı ile işaretli olan yerlerdir. İlgili yere mouse’u getirdiğimizde bir bilgi ekranı görüntülenir.

2

Ayrıca tab butonu ile sarı bölümlerin yani değişiklik yapılması gereken bölümlerin üzerinde hızlıca gezinebiliriz.

Yazımın başında söylediğim gibi Code Snippets’ın amacı kod geliştirme sürecini kısaltmaktır. Bu yüzden bu yeni özelliğe en kısa sürede alışmanızı tavsiye ederim.

Not : Blog haricinde, faydali gördügüm yazilari ve linkleri twitter adresimden paylasiyorum. Beni twitter'da takip etmek için : twitter.com/turgaysahtiyan


SSDT makale serime bir süre ara vermiştim. Bugün anlatacağım SSDT’de bir tablo içindeki veriler üzerinden Insert Script’i oluşturma özelliği ile makale serime devam ediyorum.

[more]

SQL Server 2012 daha doğrusu SSDT’den önce bu işi SSMS üzerinden Generate Scripts özelliği ile yapabiliyorduk. Hatta bu konu üzerine şu makaleyi kaleme almıştım.

SQL Server 2008 de Bir Table daki Verilerden Insert Script i Oluşturma

SQL Server 2012 ile beraber artık bu ihtiyacımızı SSDT ile yapabiliriz. Çünkü SSDT makale serimin ilk makalesinde dediğim gibi artık developerlar bütün işlemlerini SSDT üzerinden yapacak ve başka bir tool’a ihtiyaç duymayacaklar.

Şimdi adım adım bir tablo üzerinden nasıl insert script’i oluşturabileceğimize bakalım.

SQL Server Object Explorer’dan insert script’i oluşturmak istediğimiz tabloyu bulup sağ tıklayarak view data butonuna basalım. Ben bu örneğim için AdventureWorks DB’sinde bulunan Person.Address tablosunu kullanacağım.

1

Gelen ekranda ilk olarak yapmamız gereken “1000” olarak seçili Max Rows kısmını değiştirmek. Eğer tüm veriler için insert script’i oluşturacak isek bu kısmı All olarak değiştirmeliyiz.

2

Max Rows seçimini yaptıktan sonra artık insert script’i oluşturabiliriz. Bunun için Max Rows kısmının sağında bulunan script butonunu tıklıyoruz.

3

Script butonuna bastığımızda ilgili kayıtlar için insert script’leri yeni bir Query ekranında açılacaktır.

4

Eğer insert script’lerinin yeni bir Query ekranında değil de direk dosya olarak kaydedilmesini istiyorsak bunun için Script to File butonunu kullanabiliriz.

5

Son olarak şu eklemeyi de yapıp bu makaleyi noktalayalım. View Data ekranında kayıtlar üzerinde değişiklik yapılabilir ya da yeni kayıt girilebilir veya silinebilir. Bu işlemler için de SSDT’yi kullanabiliriz.

Bir sonraki SSDT makalesinde görüşmek üzere.

Not : Blog haricinde, faydali gördügüm yazilari ve linkleri twitter adresimden paylasiyorum. Beni twitter'da takip etmek için : twitter.com/turgaysahtiyan


Bildiğiniz gibi 8 Mart 2012 tarihinde SQL Server sanal lansmanı tüm dünya ile aynı anda Türkiye’de de gerçekleştirildi.

Lansman kapsamında ben de “SQL Server 2012 Yüksek Erişilebilirlik-AlwaysOn” konulu bir sunum yaptım.

Bu sunumun video kaydına aşağıda erişebilirsiniz.

Lansman kapsamındaki diğer sunumlara ise aşağıdaki url’den erişebilirsiniz.

http://www.sqlserverlaunch.com/tur/ww_Agenda

Not : Blog haricinde, faydali gördügüm yazilari ve linkleri twitter adresimden paylasiyorum. Beni twitter'da takip etmek için : twitter.com/turgaysahtiyan


19.04.2012 tarihinde (dün) SQL Server Öncüleri önderliğinde gerçekleştirmiş olduğum SQL Server 2012 ile Gelen Yeni Özellikler başlıklı webcast’imin videosuna ve diğer dosyalarına aşağıdan erişebilirsiniz.

Scriptler

Sunum

Video

Not : Blog haricinde, faydali gördügüm yazilari ve linkleri twitter adresimden paylasiyorum. Beni twitter'da takip etmek için : twitter.com/turgaysahtiyan


Merhaba,

19 Nisan 2012 Perşembe günü yapacağım webcast’in duyurusunu yapmak istiyorum.

SQL Server Öncüleri bünyesinde vereceğim SQL Server 2012 ile Gelen Yeni Özellikler başlıklı webcast’im 19.04.2012 tarihinde 10:00-11:00 saatleri arasında gerçekleşecek.

Aşağıdaki url’i kullanarak vereceğim bu webcast’e katılabilirsiniz.

https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032502479&Culture=TR-TR

http://www.sqlserveronculeri.com/10/EventSchedule/342/sql-server-2012-ile-gelen-yeni-ozellikler-i-web-semineri.aspx

Not : Blog haricinde, faydali gördügüm yazilari ve linkleri twitter adresimden paylasiyorum. Beni twitter'da takip etmek için : twitter.com/turgaysahtiyan


Geçen Cumartesi düzenlediğimiz SQLSaturday etkinliğinin yoğunluğundan dolayı bu duyuruyu yazmaya anca fırsat bulabiliyorum.

1 Nisan 2012 itibarıyla SQL Server 2012 RTM public available oldu. Aşağıdaki adresten SQL Server 2012’yi indirebilirsiniz.

http://www.microsoft.com/sqlserver/en/us/get-sql-server/try-it.aspx

Not : Blog haricinde, faydali gördügüm yazilari ve linkleri twitter adresimden paylasiyorum. Beni twitter'da takip etmek için : twitter.com/turgaysahtiyan


SQL Server 2012 daha son kullanıcıya release olmadan kitabı çıktı. Ben de hemen sizlerle paylaşmak istedim. :)

[more]

Kitabın 2 yazarı; Ross Mistry (@RossMistry) ve Stacia Misner (@StaciaMisner) ‘a teşekkür etmek lazım. Gerçekten güzel bir iş ortaya koymuşlar.

288 sayfadan oluşan ve temel olarak SQL Server 2012 ile gelen yenilikleri anlatmayı hedef belirleyin kitabın ücretsiz e-book versiyonunu şu adresten download edebilirsiniz.

Not : Blog haricinde, faydali gördügüm yazilari ve linkleri twitter adresimden paylasiyorum. Beni twitter'da takip etmek için : twitter.com/turgaysahtiyan