<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Yazan çizen Savaş Yaşar &#187; Microsoft</title>
	<atom:link href="http://www.savasyasar.com/gunluk3/bolum/bilgisayar/microsoft/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.savasyasar.com/gunluk3</link>
	<description>Bilgisayar, Sinop, Gündem, Galatasaray ...</description>
	<lastBuildDate>Sat, 24 Jul 2010 11:04:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Outlook 2010 Hotmail Connector (0&#215;80004005) hatası çözümü</title>
		<link>http://www.savasyasar.com/gunluk3/2010/07/outlook-2010-hotmail-connector-0x80004005-hatasi-cozumu/</link>
		<comments>http://www.savasyasar.com/gunluk3/2010/07/outlook-2010-hotmail-connector-0x80004005-hatasi-cozumu/#comments</comments>
		<pubDate>Sat, 24 Jul 2010 10:54:53 +0000</pubDate>
		<dc:creator>Savaş Yaşar</dc:creator>
				<category><![CDATA[Bilgisayar]]></category>
		<category><![CDATA[Manşet]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[hata]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[outlook]]></category>
		<category><![CDATA[sorun çözme]]></category>
		<category><![CDATA[troubleshooting]]></category>

		<guid isPermaLink="false">http://www.savasyasar.com/gunluk3/?p=393</guid>
		<description><![CDATA[Beta aşamasından beri Outlook 2010 64 bit kullanmaktayım. Bazı eşitleme uygulamaları dışında sorun yaşamıyorum. Tek istisna vardı. O da "gönder/al" yaptığım zaman ortaya çıkan "Task 'Savas Yasar' reported error (0x80004005) : 'There is an error synchronizing your mail account. Please verify your account is configured correctly by first accessing your mail on the web. Error: 4350. '" hatası. Hayli bir zaman bu hataya önem vermedim, beraber yaşamaya çalıştım ancak can sıkıcı bir hal almaya başlamıştı ve çözülmesi gerekiyordu. :)]]></description>
			<content:encoded><![CDATA[<p>Beta aşamasından beri Outlook 2010 64 bit kullanmaktayım. Bazı eşitleme uygulamaları dışında sorun yaşamıyorum. Tek istisna vardı. O da &#8220;gönder/al&#8221; yaptığım zaman ortaya çıkan <em>&#8220;Task &#8216;Savas Yasar&#8217; reported error (0&#215;80004005) : &#8216;There is an error synchronizing your mail account. Please verify your account is configured correctly by first accessing your mail on the web. Error: 4350. &#8216;&#8221; </em>hatası. Hayli bir zaman bu hataya önem vermedim, beraber yaşamaya çalıştım ancak can sıkıcı bir hal almaya başlamıştı ve çözülmesi gerekiyordu. <img src='http://www.savasyasar.com/gunluk3/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Ne yaptım derseniz; öyle zor bir şey değil. Hatayı Google&#8217;da arattırdım tabii ki.<span id="more-393"></span></p>
<ul>
<li>Bayağı bir arama sonucu çıktı. Her arama sonucunda değişik öneriler. Bazılarını sizinle paylaşayım.
<ul>
<li>Outlook&#8217;u kaldırın yeniden kurun. (Külfetli, ilk denenecek çözüm değil, sistem yetkisi istiyor)</li>
<li>Outlook&#8217;a yeni profil ekleyin, hesabınızı o profile tanımlayın, bakın aynı hata çıkıyor mu? (Bir nebze külfetli)</li>
<li>Hotmail Connector bileşenini kaldırın, tekrar yükleyin. (Külfetli ve sistem yetkisi gerekir)</li>
<li>Sağda solda açık kalmış bir Hotmail oturumunuz kalmış mı bakın. Başka bir açık oturum olmadığından emin olun. (gayri ciddi geldi bu öneri)</li>
<li>Windows kullanıcı profiliniz zarar görmüş olabilir. Başka bir profil oluşturun, Outlook profilinizi ve hesabınızı orada ayarlayın bakın aynı sonucu veriyor mu? (Sorun çözmek için önce basit adımlar önerilmeli, adama herşeyini sıfırla demek kolay olmamalı&#8230;)</li>
<li>Outlook &#8220;Önemsiz Posta Ayarlarınızı&#8221; gözden geçirin. Güvenli gönderenler, engellenen gönderenler vb listelerinizi sıfırlayın. (Evet en az yetki ve zahmet gerektiren öneri..)<br />
Bunu denedim ve artık eşitleme hatası almıyorum.</li>
</ul>
</li>
<li>Sonuçta netten bulduğumuz her bilgiye güvenmememiz gerektiği gibi, çözüm diye önerilen her şeyi de uygulamamalıyız. Sorunumuz ile ilgili önerilen çözümleri en az çaba gerektiren, en az sistem değişikliği isteyen ve asgari yetki ile yapabileceğimiz, sorunun ortaya çıktığı uygulama ile ilgi seviyesi gibi kriterlere göre sıralamamız ona göre uygulamamız, her adımda sorunun çözülüp çözülmediğini kontrol etmemiz bizim yararımıza olacaktır.</li>
</ul>
<p>&#8220;Internet vasıtası ile sorun nasıl çözülür&#8221; konulu yazılarımıza bir ilave daha yapmış olduk. Sonraki yazı da görüşmek üzere&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.savasyasar.com/gunluk3/2010/07/outlook-2010-hotmail-connector-0x80004005-hatasi-cozumu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sql ile Turkcell Süperlig simülasyonu</title>
		<link>http://www.savasyasar.com/gunluk3/2009/12/sql-ile-turkcell-superlig-simulasyonu/</link>
		<comments>http://www.savasyasar.com/gunluk3/2009/12/sql-ile-turkcell-superlig-simulasyonu/#comments</comments>
		<pubDate>Fri, 25 Dec 2009 22:47:38 +0000</pubDate>
		<dc:creator>Savaş Yaşar</dc:creator>
				<category><![CDATA[Bilgisayar]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[sunucu tabanlı bilgi işlem]]></category>

		<guid isPermaLink="false">http://www.savasyasar.com/gunluk3/?p=364</guid>
		<description><![CDATA[Sql ile süperlig simülasyonu:  temporary table, trigger, stored procedure kullanımı örnek]]></description>
			<content:encoded><![CDATA[<p>Sql ile yapabileceklerinizin sınırı sizinle başlıyor sizinle bitiyor. Buradaki örneğin amacı Süperlig puan durumu tablosundan yola çıkarak maçları, fikstürü oluşturmak, maçları rasgele skorlarla oynatmak, rastgele skorlara uygun şekilde puan cetvelini güncellemek.</p>
<p>Konu: herhangi bir spor ligindeki takımların fikstürünü oluşturmak, maçları oynatmak, oluşan sonuçlara göre puan cetvelini güncellemek.<br />
Amaç: Mümkün olan en az sayıda komutla ve en hızlı sürede işi bitirmek.<br />
Verilenler: Sql, Puan Cetveli, Geçici Tablolar, Tetikleyiciler, Cursor<span id="more-364"></span></p>
<p>Adım 1: Tabloları oluşturmak</p>
<p>&#8211; Puan cetveli<br />
&#8211; Maçları ve sonuçları bu tabloda tutacağız. Sql ile Takim tablosu içeriğine göre buraya dolduracağız. Maçlara rastgele sonuçları işleyeceğiz.</p>
<blockquote><p>CREATE TABLE [dbo].[Takim](<br />
 [TakimID] [tinyint] IDENTITY(1,1) NOT NULL,<br />
 [TakimAdi] [nvarchar](50) NULL,<br />
 [OynadigiMac] [tinyint] NULL,<br />
 [Galibiyet] [tinyint] NULL,<br />
 [Malubiyet] [tinyint] NULL,<br />
 [Beraberlik] [tinyint] NULL,<br />
 [Avaraj] [int] NULL,<br />
 [AttigiGol] [int] NULL,<br />
 [YedigiGol] [int] NULL,<br />
 [PuanDurumu] [int] NULL,<br />
 CONSTRAINT [PK_PuanDurumu] PRIMARY KEY CLUSTERED<br />
(<br />
 [TakimID] ASC<br />
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]<br />
) ON [PRIMARY]</p></blockquote>
<blockquote><p>CREATE TABLE [dbo].[Maclar](<br />
[MacID] [int] IDENTITY(1,1) NOT NULL,<br />
[EvSahibiTakim] [tinyint] NULL,<br />
[RakipTakim] [tinyint] NULL,<br />
[EAttigiGol] [tinyint] NULL,<br />
[RAttigiGol] [tinyint] NULL,<br />
[Hafta] [tinyint] NULL,<br />
CONSTRAINT [PK_Maclar] PRIMARY KEY CLUSTERED ([MacID] ASC)<br />
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]TABLE [dbo].[Takim](<br />
[TakimID] [tinyint] IDENTITY(1,1) NOT NULL,<br />
[TakimAdi] [nvarchar](50) NULL,<br />
[OynadigiMac] [tinyint] NULL,<br />
[Galibiyet] [tinyint] NULL,<br />
[Malubiyet] [tinyint] NULL,<br />
[Beraberlik] [tinyint] NULL,<br />
[Avaraj] [int] NULL,<br />
[AttigiGol] [int] NULL,<br />
[YedigiGol] [int] NULL,<br />
[PuanDurumu] [int] NULL, CONSTRAINT [PK_PuanDurumu] PRIMARY KEY CLUSTERED ([TakimID]ASC )<br />
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY]</p></blockquote>
<p> Tabloları oluşturduktan sonra Takim tablosunun içini doldurabiliriz.</p>
<blockquote><p>INSERT [dbo].[Takim] ([TakimID], [TakimAdi], [OynadigiMac], [Galibiyet], [Malubiyet], [Beraberlik], [Avaraj], [AttigiGol], [YedigiGol], [PuanDurumu]) VALUES (1, N&#8217;GALATASARAY&#8217;, 0, 0, 0, 0, 0, 0, 0, 0)<br />
INSERT [dbo].[Takim] ([TakimID], [TakimAdi], [OynadigiMac], [Galibiyet], [Malubiyet], [Beraberlik], [Avaraj], [AttigiGol], [YedigiGol], [PuanDurumu]) VALUES (2, N&#8217;FENERBAHCE&#8217;, 0, 0, 0, 0, 0, 0, 0, 0)<br />
INSERT [dbo].[Takim] ([TakimID], [TakimAdi], [OynadigiMac], [Galibiyet], [Malubiyet], [Beraberlik], [Avaraj], [AttigiGol], [YedigiGol], [PuanDurumu]) VALUES (3, N&#8217;BURSASPOR&#8217;, 0, 0, 0, 0, 0, 0, 0, 0)<br />
INSERT [dbo].[Takim] ([TakimID], [TakimAdi], [OynadigiMac], [Galibiyet], [Malubiyet], [Beraberlik], [Avaraj], [AttigiGol], [YedigiGol], [PuanDurumu]) VALUES (4, N&#8217;KAYSERISPOR&#8217;, 0, 0, 0, 0, 0, 0, 0, 0)<br />
INSERT [dbo].[Takim] ([TakimID], [TakimAdi], [OynadigiMac], [Galibiyet], [Malubiyet], [Beraberlik], [Avaraj], [AttigiGol], [YedigiGol], [PuanDurumu]) VALUES (5, N&#8217;BESIKTAS&#8217;, 0, 0, 0, 0, 0, 0, 0, 0)<br />
INSERT [dbo].[Takim] ([TakimID], [TakimAdi], [OynadigiMac], [Galibiyet], [Malubiyet], [Beraberlik], [Avaraj], [AttigiGol], [YedigiGol], [PuanDurumu]) VALUES (6, N&#8217;TRABZONSPOR&#8217;, 0, 0, 0, 0, 0, 0, 0, 0)<br />
INSERT [dbo].[Takim] ([TakimID], [TakimAdi], [OynadigiMac], [Galibiyet], [Malubiyet], [Beraberlik], [Avaraj], [AttigiGol], [YedigiGol], [PuanDurumu]) VALUES (7, N&#8217;GENCLERBIRLIGI&#8217;, 0, 0, 0, 0, 0, 0, 0, 0)<br />
INSERT [dbo].[Takim] ([TakimID], [TakimAdi], [OynadigiMac], [Galibiyet], [Malubiyet], [Beraberlik], [Avaraj], [AttigiGol], [YedigiGol], [PuanDurumu]) VALUES (8, N&#8217;ISTANBULSPOR&#8217;, 0, 0, 0, 0, 0, 0, 0, 0)<br />
INSERT [dbo].[Takim] ([TakimID], [TakimAdi], [OynadigiMac], [Galibiyet], [Malubiyet], [Beraberlik], [Avaraj], [AttigiGol], [YedigiGol], [PuanDurumu]) VALUES (9, N&#8217;ESKISEHIRSPOR&#8217;, 0, 0, 0, 0, 0, 0, 0, 0)<br />
INSERT [dbo].[Takim] ([TakimID], [TakimAdi], [OynadigiMac], [Galibiyet], [Malubiyet], [Beraberlik], [Avaraj], [AttigiGol], [YedigiGol], [PuanDurumu]) VALUES (10, N&#8217;ANTALYASPOR&#8217;, 0, 0, 0, 0, 0, 0, 0, 0)<br />
INSERT [dbo].[Takim] ([TakimID], [TakimAdi], [OynadigiMac], [Galibiyet], [Malubiyet], [Beraberlik], [Avaraj], [AttigiGol], [YedigiGol], [PuanDurumu]) VALUES (11, N&#8217;GAZIANTEPSPOR&#8217;, 0, 0, 0, 0, 0, 0, 0, 0)<br />
INSERT [dbo].[Takim] ([TakimID], [TakimAdi], [OynadigiMac], [Galibiyet], [Malubiyet], [Beraberlik], [Avaraj], [AttigiGol], [YedigiGol], [PuanDurumu]) VALUES (12, N&#8217;KASIMPASASPOR&#8217;, 0, 0, 0, 0, 0, 0, 0, 0)<br />
INSERT [dbo].[Takim] ([TakimID], [TakimAdi], [OynadigiMac], [Galibiyet], [Malubiyet], [Beraberlik], [Avaraj], [AttigiGol], [YedigiGol], [PuanDurumu]) VALUES (13, N&#8217;MANISASPOR&#8217;, 0, 0, 0, 0, 0, 0, 0, 0)<br />
INSERT [dbo].[Takim] ([TakimID], [TakimAdi], [OynadigiMac], [Galibiyet], [Malubiyet], [Beraberlik], [Avaraj], [AttigiGol], [YedigiGol], [PuanDurumu]) VALUES (14, N&#8217;DIYARBAKIR&#8217;, 0, 0, 0, 0, 0, 0, 0, 0)<br />
INSERT [dbo].[Takim] ([TakimID], [TakimAdi], [OynadigiMac], [Galibiyet], [Malubiyet], [Beraberlik], [Avaraj], [AttigiGol], [YedigiGol], [PuanDurumu]) VALUES (15, N&#8217;ANKARAGUCU&#8217;, 0, 0, 0, 0, 0, 0, 0, 0)<br />
INSERT [dbo].[Takim] ([TakimID], [TakimAdi], [OynadigiMac], [Galibiyet], [Malubiyet], [Beraberlik], [Avaraj], [AttigiGol], [YedigiGol], [PuanDurumu]) VALUES (16, N&#8217;SIVASSPOR&#8217;, 0, 0, 0, 0, 0, 0, 0, 0)<br />
INSERT [dbo].[Takim] ([TakimID], [TakimAdi], [OynadigiMac], [Galibiyet], [Malubiyet], [Beraberlik], [Avaraj], [AttigiGol], [YedigiGol], [PuanDurumu]) VALUES (17, N&#8217;DENIZLISPOR&#8217;, 0, 0, 0, 0, 0, 0, 0, 0)<br />
INSERT [dbo].[Takim] ([TakimID], [TakimAdi], [OynadigiMac], [Galibiyet], [Malubiyet], [Beraberlik], [Avaraj], [AttigiGol], [YedigiGol], [PuanDurumu]) VALUES (18, N&#8217;ANKARASPOR&#8217;, 0, 0, 0, 0, 0, 0, 0, 0)<br />
SET IDENTITY_INSERT [dbo].[Takim] OFF</p></blockquote>
<p>Ligi yeniden simüle etmeden önce mevcut sonuçları temizlemek için kullanılacak yordam:</p>
<blockquote><p>CREATE PROCEDURE [dbo].[sp_PuanlariSifirla]<br />
 &#8211; Add the parameters for the stored procedure here<br />
AS<br />
BEGIN<br />
 &#8211; SET NOCOUNT ON added to prevent extra result sets from<br />
 &#8211; interfering with SELECT statements.<br />
 SET NOCOUNT ON;</p>
<p>    &#8212; Insert statements for procedure here<br />
    truncate table maclar<br />
 update Takim set OynadigiMac=0, Galibiyet=0, Malubiyet=0,Beraberlik=0,Avaraj=0,AttigiGol=0,YedigiGol=0,PuanDurumu=0;<br />
END</p></blockquote>
<p>Olası bütün maçları gösteren sql görünümü için sql sorgusu veya görünüm kullanılabilir.</p>
<blockquote><p>create view [dbo].[v_OlasiMaclar] as<br />
select evsahibi.TakimID as evsahibid, evsahibi.TakimAdi as evsahibiadi, konuk.TakimID as konukid, konuk.TakimAdi as konukadi, evsahibi.TakimID*100+konuk.TakimID as mackodu from Takim evsahibi cross join Takim konuk where evsahibi.TakimID&lt;&gt;konuk.TakimID</p></blockquote>
<p>Olası maçları takvime yaymak lazım. Bazı şartları sağlayıp sağlamadığı kontrol edilmemiş ama maçları haftalara yayma işlemini yapan aşağıdaki yordam fikstürü oluşturmak için kullanılıyor.</p>
<blockquote><p>CREATE PROCEDURE [dbo].[sp_FiksturOlustur]<br />
AS<br />
BEGIN<br />
 SET NOCOUNT ON;<br />
 truncate table maclar;<br />
 select *, 0 as Oynandi, 0 as Secilemez into #tmpMaclar from v_OlasiMaclar<br />
 select TakimID, TakimAdi, 0 as Oynadi, 0 as OynadigiMacSayisi into #tmpTakimlar from Takim order by TakimID asc<br />
 declare @takimsayisi int,<br />
 @macsayisi int,<br />
 @evsahibi tinyint,<br />
 @misafir tinyint,<br />
 @hafta int,<br />
 @haftasayac int,<br />
 @macid int,<br />
 @toplammacsayisi int<br />
 <br />
 set @takimsayisi = (select COUNT(*) from #tmpTakimlar)<br />
 set @macsayisi = @takimsayisi / 2<br />
 set @hafta = @takimsayisi*2-2<br />
 set @haftasayac = 1<br />
 set @toplammacsayisi=0<br />
 while (((select COUNT(*) from #tmpMaclar)&gt;0) and (@haftasayac &lt;= @hafta))<br />
 begin<br />
 while ((select COUNT(*) from #tmpTakimlar where (Oynadi = 0) and (OynadigiMacSayisi=(@haftasayac-1))) &gt; 0)<br />
 begin<br />
  set @evsahibi = (select top 1 TakimID from #tmpTakimlar where oynadi=0 order by NEWID())<br />
  set @misafir = (select top 1 TakimID from #tmpTakimlar where TakimID &lt;&gt; @evsahibi and Oynadi=0 order by NEWID())<br />
  set @macid = (select mackodu from #tmpMaclar where Evsahibid=@evsahibi and konukid=@misafir)<br />
  update #tmpTakimlar set Oynadi = 1, OynadigiMacSayisi=(OynadigiMacSayisi+1) where TakimID=@evsahibi <br />
  update #tmpTakimlar set Oynadi = 1, OynadigiMacSayisi=(OynadigiMacSayisi+1) where TakimID=@misafir<br />
  insert into Maclar (EvSahibiTakim,RakipTakim,Hafta) values (@evsahibi, @misafir, @haftasayac)<br />
  delete from #tmpMaclar where mackodu=@macid<br />
  update #tmpMaclar set Secilemez=1 where evsahibid=@evsahibi<br />
  update #tmpMaclar set Secilemez=1 where evsahibid=@misafir<br />
  update #tmpMaclar set Secilemez=1 where konukid=@evsahibi<br />
  update #tmpMaclar set Secilemez=1 where konukid=@misafir<br />
  end<br />
 update #tmpTakimlar set Oynadi=0<br />
 update #tmpMaclar set Secilemez = 0<br />
 set @haftasayac=@haftasayac+1<br />
end<br />
drop table #tmpTakimlar<br />
drop table #tmpMaclar<br />
END</p></blockquote>
<p>Maçları rastgele sırada oynatmak için aşağıdaki saklı yordam kullanılabilir. Bu saklı yordam oluşturulan fikstür üzerinde gezerek maç skorlarını fikstür tablosunda günceller. Maçlar tablosu üzerindeki update trigger&#8217;ı vasıtası ile puan cetvelinde gerekli işlemler yapılır.</p>
<blockquote><p>CREATE PROCEDURE [dbo].[sp_MaclariOynat_v2]<br />
 &#8211; Add the parameters for the stored procedure here<br />
AS<br />
BEGIN<br />
 &#8211; SET NOCOUNT ON added to prevent extra result sets from<br />
 &#8211; interfering with SELECT statements.<br />
 SET NOCOUNT ON;<br />
 declare @evsahibi tinyint,<br />
 @misafir tinyint,<br />
 @evsahibigol tinyint,<br />
 @misafirgol tinyint,<br />
 @oynatalimugurcum cursor<br />
 set @oynatalimugurcum = CURSOR FOR select EAttigiGol,RAttigiGol from maclar<br />
 open @oynatalimugurcum<br />
 fetch next from @oynatalimugurcum into @evsahibigol, @misafirgol<br />
 while (@@fetch_status=0)<br />
 begin<br />
 set @evsahibigol=rand()*10<br />
 set @misafirgol=rand()*10<br />
 UPDATE Maclar<br />
 SET Eattigigol = @evsahibigol,<br />
 Rattigigol = @misafirgol<br />
 WHERE CURRENT OF @oynatalimugurcum<br />
 fetch next from @oynatalimugurcum into @evsahibigol, @misafirgol<br />
 end<br />
 close @oynatalimugurcum<br />
 deallocate @oynatalimugurcum<br />
END</p></blockquote>
<p>Ve işte malum trigger:</p>
<blockquote><p>create trigger [dbo].[trig_puantablosunuisle]<br />
on [dbo].[Maclar]<br />
after update<br />
as<br />
begin<br />
&#8211; ne yapacak<br />
&#8211; kazanan takimin puanini 3 arttiracak, attığı gol varsa yediği gol, averaj değiştirilecek<br />
&#8211; beraberlikse her iki takımın puanını 3 arttıracak<br />
&#8211; yenilen takımın puanı değişmeyecek<br />
if (select count(*) from inserted) &gt; 1 &#8212; eğer birden fazla maçı toplu güncellemek isterse engelle<br />
rollback tran<br />
else<br />
begin<br />
declare @evsahibi tinyint,<br />
@misafir tinyint,<br />
@evsahibigol tinyint,<br />
@misafirgol tinyint<br />
set @evsahibi = (select evsahibitakim from inserted)<br />
set @evsahibigol = (select eattigigol from inserted)<br />
set @misafir = (select rakiptakim from inserted)<br />
set @misafirgol = (select rattigigol from inserted)<br />
if (@evsahibigol =@misafirgol) &#8211;her iki takımda bir puan aldı<br />
begin<br />
 update takim set puandurumu=puandurumu+1, oynadigimac=oynadigimac+1,beraberlik=beraberlik+1, attigigol=attigigol+@evsahibigol, yedigigol=yedigigol+@evsahibigol where TakimID= @evsahibi<br />
 update takim set puandurumu=puandurumu+1, oynadigimac=oynadigimac+1,beraberlik=beraberlik+1, attigigol=attigigol+@evsahibigol, yedigigol=yedigigol+@evsahibigol where TakimID= @misafir<br />
end<br />
else if (@evsahibigol &gt;@misafirgol)<br />
begin<br />
update takim set puandurumu=puandurumu+3, oynadigimac=oynadigimac+1,galibiyet=galibiyet+1, attigigol=attigigol+@evsahibigol, yedigigol=yedigigol+@misafirgol, avaraj=avaraj+@evsahibigol-@misafirgol where TakimID= @evsahibi<br />
update takim set oynadigimac=oynadigimac+1,malubiyet=malubiyet+1, attigigol=attigigol+@misafirgol, yedigigol=yedigigol+@evsahibigol, avaraj=avaraj-@evsahibigol+@misafirgol where TakimID= @misafir<br />
end<br />
else<br />
begin<br />
update takim set puandurumu=puandurumu+3, oynadigimac=oynadigimac+1,galibiyet=galibiyet+1, attigigol=attigigol+@misafirgol, yedigigol=yedigigol+@evsahibigol, avaraj=avaraj-@evsahibigol+@misafirgol where TakimID= @misafir<br />
update takim set oynadigimac=oynadigimac+1,malubiyet=malubiyet+1, attigigol=attigigol+@evsahibigol, yedigigol=yedigigol+@misafirgol, avaraj=avaraj+@evsahibigol-@misafirgol where TakimID= @evsahibi<br />
end<br />
end<br />
end </p></blockquote>
<p>Aynı lig simülasyonunu yeniden gerçekleştiren son yordamımız:</p>
<blockquote><p>CREATE PROCEDURE [dbo].[sp_LigiOynat]<br />
 &#8211; Add the parameters for the stored procedure here <br />
AS<br />
BEGIN<br />
 &#8211; SET NOCOUNT ON added to prevent extra result sets from<br />
 &#8211; interfering with SELECT statements.<br />
 SET NOCOUNT ON;<br />
    exec sp_PuanlariSifirla<br />
    exec sp_FiksturOlustur<br />
    exec sp_MaclariOynat_v2<br />
END</p></blockquote>
<p>Ve sonuç:</p>
<p><a href="http://www.savasyasar.com/gunluk3/wp-content/uploads/2009/12/SuperLig.jpg"><img class="size-medium wp-image-365 alignnone" title="SuperLig" src="http://www.savasyasar.com/gunluk3/wp-content/uploads/2009/12/SuperLig-300x217.jpg" alt="" width="300" height="217" /></a></p>
<p>Devamını bu <a href="http://cid-b49262d232e16dd8.skydrive.live.com/self.aspx/Ortak/YV2302/Sql/SuperLig-reloaded-final.rar" target="_blank">sql </a>dosyasında bulabilirsiniz.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.savasyasar.com/gunluk3/2009/12/sql-ile-turkcell-superlig-simulasyonu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sql fonksiyonlar ile e-mail doğrulama</title>
		<link>http://www.savasyasar.com/gunluk3/2009/12/sql-fonksiyonlar-ile-e-mail-dogrulama/</link>
		<comments>http://www.savasyasar.com/gunluk3/2009/12/sql-fonksiyonlar-ile-e-mail-dogrulama/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 01:43:05 +0000</pubDate>
		<dc:creator>Savaş Yaşar</dc:creator>
				<category><![CDATA[Bilgisayar]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[kullanıcı tanımlı fonksiyonlar]]></category>
		<category><![CDATA[regular expression]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[sql 2000]]></category>
		<category><![CDATA[sql functions]]></category>

		<guid isPermaLink="false">http://www.savasyasar.com/gunluk3/2009/12/sql-fonksiyonlar-ile-e-mail-dogrulama/</guid>
		<description><![CDATA[Çoğu veritabanı yönetim sistemi fonksiyon kullanma olanağını sunar. Fonksiyonların saklı yordamlardan farkı bir toplu işlem ihtiva etmemeleridir. Onların ana maksadı başka yerlerde kullanılmak üzere değer döndürmektir. Aşağıdaki örnekte Ms Sql 2000’de formata uygun girilmemiş, veri girişi sırasında format kontrolü yapılmamış email adreslerini tespit etmeye yönelik kullanıcı tanımlı sql fonksiyonunun kullanımı esas alınmıştır.
Email adresi doğrulamalarında regular [...]]]></description>
			<content:encoded><![CDATA[<p>Çoğu veritabanı yönetim sistemi fonksiyon kullanma olanağını sunar. Fonksiyonların saklı yordamlardan farkı bir toplu işlem ihtiva etmemeleridir. Onların ana maksadı başka yerlerde kullanılmak üzere değer döndürmektir. Aşağıdaki örnekte Ms Sql 2000’de formata uygun girilmemiş, veri girişi sırasında format kontrolü yapılmamış email adreslerini tespit etmeye yönelik kullanıcı tanımlı sql fonksiyonunun kullanımı esas alınmıştır.</p>
<p>Email adresi doğrulamalarında regular expression denilen ifadeler kullanılır. Regular expression demek e-mail adresinin maketi ya da formatı demektir. Sql 2000 regular expression desteği vermediğinden vbscript desteğinden faydalanacağız.</p>
<p><span id="more-350"></span></p>
<p>Regular expression kontrolü ile ilgili ana fonksiyonumuz:</p>
<blockquote>
<p>CREATE FUNCTION dbo.find_regular_expression<br />
(<br />
@source varchar(5000),<br />
@regexp varchar(1000),<br />
@ignorecase bit = 0<br />
)<br />
RETURNS bit<br />
AS<br />
BEGIN<br />
DECLARE @hr integer<br />
DECLARE @objRegExp integer<br />
DECLARE @objMatches integer<br />
DECLARE @objMatch integer<br />
DECLARE @count integer<br />
DECLARE @results bit<br />
EXEC @hr = sp_OACreate &#8216;VBScript.RegExp&#8217;, @objRegExp OUTPUT<br />
IF @hr &lt;&gt; 0 BEGIN<br />
SET @results = 0<br />
RETURN @results<br />
END<br />
EXEC @hr = sp_OASetProperty @objRegExp, &#8216;Pattern&#8217;, @regexp<br />
IF @hr &lt;&gt; 0 BEGIN<br />
SET @results = 0<br />
RETURN @results<br />
END<br />
EXEC @hr = sp_OASetProperty @objRegExp, &#8216;Global&#8217;, false<br />
IF @hr &lt;&gt; 0 BEGIN<br />
SET @results = 0<br />
RETURN @results<br />
END<br />
EXEC @hr = sp_OASetProperty @objRegExp, &#8216;IgnoreCase&#8217;, @ignorecase<br />
IF @hr &lt;&gt; 0 BEGIN<br />
SET @results = 0<br />
RETURN @results<br />
END<br />
EXEC @hr = sp_OAMethod @objRegExp, &#8216;Test&#8217;, @results OUTPUT, @source<br />
IF @hr &lt;&gt; 0 BEGIN<br />
SET @results = 0<br />
RETURN @results<br />
END<br />
EXEC @hr = sp_OADestroy @objRegExp<br />
IF @hr &lt;&gt; 0 BEGIN<br />
SET @results = 0<br />
RETURN @results<br />
END<br />
RETURN @results<br />
END</p></blockquote>
<p>Bu fonksiyon kontrolde kullanacağımız regular expression’ı, regular expression uyumunun arandığı metni girdi olarak kabul etmekte ve metin regular expression yapısında ise 1 döndürmektedir.</p>
<blockquote><p>CREATE FUNCTION dbo.udf_ValidEmail  &#8211;email format uyumunu kontrol eden fonksiyon<br />
(<br />
&#8211; Add the parameters for the function here<br />
@email nvarchar(50) –50 karakter uzunluğunda email kontrol edilebilir<br />
)<br />
returns bit<br />
AS<br />
BEGIN<br />
declare @validEmail bit<br />
&#8211; Declare the return variable here<br />
DECLARE @regularexpression nvarchar(250);<br />
set @regularexpression = &#8216;^(([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5}){1,25})+([;.](([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5}){1,25})+)*$&#8217;</p>
<p>&#8211; Add the T-SQL statements to compute the return value here<br />
set @validEmail = dbo.find_regular_expression(@email,@regularexpression,0)</p>
<p>&#8211; Return the result of the function<br />
return @validEmail</p>
<p>END<br />
GO</p>
<p>select dbo.udf_ValidEmail(<a href="mailto:'ahmet@yahoog.com.tr'">&#8216;ahmet@yahoog.com.tr&#8217;</a>)</p></blockquote>
<p><span style="background-color: #eeeeee;"> </span></p>
<p><span style="background-color: #eeeeee;">Sql’in kullanıcıya sağladığı fonksiyon tanımlama olanağı sayesinde sistem fonksiyonlarda yer almayan ve sık kullandığımız fonksiyonları yazma olanağına sahibiz.</span></p>
<p><span style="background-color: #eeeeee;">Mesela;</span></p>
<ul>
<li><span style="background-color: #eeeeee;">Girilen metni belirtilen karaktere göre split eden fonksiyon yazılabilir. </span></li>
<li><span style="background-color: #eeeeee;">Sorgu sonucundaki parasal değeri Türk formatında (x.xxx.xx tl) şeklinde formatlayarak gösterecek fonksiyon yazılabilir</span></li>
<li><span style="background-color: #eeeeee;">Kg değerini 1000’e bölerek tona çevirecek fonksiyon yazılabilir.</span></li>
<li><span style="background-color: #eeeeee;">vb, vb..</span></li>
</ul>
<p><span style="background-color: #eeeeee;">Kaynaklar:</span></p>
<ul>
<li><a title="http://www.sqlteam.com/article/regular-expressions-in-t-sql" href="http://www.sqlteam.com/article/regular-expressions-in-t-sql" target="_blank">http://www.sqlteam.com/article/regular-expressions-in-t-sql</a></li>
<li><a title="http://regexlib.com/DisplayPatterns.aspx" href="http://regexlib.com/DisplayPatterns.aspx" target="_blank">http://regexlib.com/DisplayPatterns.aspx</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.savasyasar.com/gunluk3/2009/12/sql-fonksiyonlar-ile-e-mail-dogrulama/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sql stored procedure – saklı yordamlar</title>
		<link>http://www.savasyasar.com/gunluk3/2009/12/sql-stored-procedure-sakli-yordamlar/</link>
		<comments>http://www.savasyasar.com/gunluk3/2009/12/sql-stored-procedure-sakli-yordamlar/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 00:50:00 +0000</pubDate>
		<dc:creator>Savaş Yaşar</dc:creator>
				<category><![CDATA[Bilgisayar]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[dbms]]></category>
		<category><![CDATA[mcdba]]></category>
		<category><![CDATA[mssql]]></category>
		<category><![CDATA[saklı yordam]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[stored procedure]]></category>

		<guid isPermaLink="false">http://www.savasyasar.com/gunluk3/2009/12/sql-stored-procedure-sakli-yordamlar/</guid>
		<description><![CDATA[Sql saklı yordamlar konusunda giriş yazısı]]></description>
			<content:encoded><![CDATA[<p>Stored procedure nedir, hangi ihtiyaçten doğmuştur, bize ne gibi faydaları vardır sorularına öznel cevaplarımı görüşlerinize sunuyorum.</p>
<ul>
<li><strong>Stored procedure nedir?</strong><br />
Veritabanı yönetim sistemlerinin veritabanı kullanıcılarına sunduğu bir kolaylıktır. Aynı sql cümlelerini değişik değişik yerlerde tekrar tekrar kullanıyorsak ve bu durum bezdiriyorsa saklı yordamlar ilaç gibi gelen çözümlerden biridir. Bir işi tanımlayan insert, update, delete, select vb cümleciklerinden oluşan sql cümleciklerini bir saklı yordamda toplayarak hem zamandan kazanmış hem de modülerliği elde etmiş oluruz. Birden fazla sql cümlesinden oluşan saklı yordamımızı ihtiyaç duduğumuz yerlerde exec komutu ile çağırabilir ve çalıştırabiliriz. Örnek çalıştırma şekli:<br />
<em>exec ksy_CokSatilanveStoktaAzKalmisUrunleriGetir</em><br />
örnek çağırmasında “ksy_CokSatilanveStoktaAzKalmisUrunleriGetir” saklı yordamımızın adıdır. ksy “Kullanıcı Saklı Yordamı” manasında kısaltılmıştır, herkes kendisine uygun kısaltmayı seçmekte özgürdür. Ancak dokümante etmesi kaydıyla.</li>
</ul>
<p><span id="more-348"></span></p>
<ul>
<li><strong>Ne işe yarar?</strong><br />
- Tekrar tekrar yazılan sql cümle gruplarını tekrar tekrar yazmaktan kurtarır.<br />
- İşlemin gerçekleştiği sürenin kısalmasını sağlar, yani performans kazandırır.<br />
- Program kodlarının okunurluğunu arttırır. Öyle ki tabloya veri girişi ile ilgili gerçekleşen bir değişiklikte uygulama programının kodunun güncellenmesi gerekmez, sadece o işi yapan saklı yordamın güncellenmesi yetebilir.<br />
- Veritabanına izinsiz kod gönderimine izin veren güvenli kod yazım tekniklerine uyulmamış şekilde yazılan programların açıklarını bir nebze kapatabilir.</li>
<li><strong>Saklı Yordamları kullanabilmemiz için neye ihtiyacımız var?</strong><br />
- Veritabanı<br />
- Veritabanı yönetim sistemi -  xml, txt, xls vb veri saklama yöntemlerinde saklı yordam kullanmanın mümkün olmadığını söylemeye gerek yok sanırım.<br />
- Veritabanına komut gönderebilmemizi sağlayan bir arayüz</li>
<li><strong>Örnek kullanım: market ürün satış işlemi</strong><br />
- Herhangi bir ürün satıldığında sadece bir tabloya veri girmekle işlem bitmez genellikle.<br />
Arka planda şunlar olabilir.<br />
- Satılan ürünle ilgili siparişler tablosuna kayıt gir<br />
- Satılan ürünle ilgili stok tablosundan satılan ürün adedini düş<br />
- Satılan ürünü kim sattıysa o satıcının sattığı ürün sayısını bir arttır<br />
- Satılan üründen stokta 10’dan az kaldıysa başka bir işlemi tetikle vb..</li>
<li><strong>Nerde saklı yordam nerde view (görünüm) kullanacağımı nereden bileceğim?</strong><br />
Saklı yordam “şu kriterleri sağlayanları getirden” ziyade “şu işlemleri yap” şeklinde bir komut olarak algılanabilir. Bir select ile yapılabilecek işlemler için görünüm kullanılır.<br />
- Örnek saklı yordam: şu koşulları sağlayan kayıtları al, şu işlemden geçir. Çıktı etkilenen kayıt sayısı<br />
- Örnek görüntü: şu koşulları sağlayan kayıtların, şu özelliklerini getir. Çıktı koşulları sağlayan kayıt sayısı</li>
<li><strong>Stored procedure oluşturma cümlelerin yapısı</strong><br />
<em>create procedure benimprosedur<br />
&lt;yordamda islem gorecek girdiler<br />
as<br />
&lt;yordamda yapilacak islemi gosteren sql cümleleri&gt;</em>Örnek:<br />
<em>create procedure rentacar<br />
kiralananaraba kod,<br />
kiralayanmusterikimlikno kod<br />
as<br />
kiralananaraba kodundaki arabayi musteri kodu ile birlikte kiralananlar tablosuna ekle<br />
arabalar tablosunda verilen koddaki arabanin durumunu kiralandi olarak isaretle</em></li>
</ul>
<p>Şimdilik bu kadar..</p>
]]></content:encoded>
			<wfw:commentRss>http://www.savasyasar.com/gunluk3/2009/12/sql-stored-procedure-sakli-yordamlar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ekran kartınızın özelliklerini öğrenin &#8211; GPU-Z</title>
		<link>http://www.savasyasar.com/gunluk3/2008/05/ekran-kartinizin-ozelliklerini-ogrenin-gpu-z/</link>
		<comments>http://www.savasyasar.com/gunluk3/2008/05/ekran-kartinizin-ozelliklerini-ogrenin-gpu-z/#comments</comments>
		<pubDate>Fri, 30 May 2008 07:28:54 +0000</pubDate>
		<dc:creator>Savaş Yaşar</dc:creator>
				<category><![CDATA[Bilgisayar]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Oyunlar]]></category>
		<category><![CDATA[compatibility]]></category>
		<category><![CDATA[gpu-z]]></category>
		<category><![CDATA[oyun]]></category>
		<category><![CDATA[uyumluluk]]></category>
		<category><![CDATA[vista]]></category>

		<guid isPermaLink="false">http://www.savasyasar.com/?p=127</guid>
		<description><![CDATA[GPU-Z isimli ufacık bir program ile ekran kartınız ve grafik işlemciniz hakkındaki bütün bilgileri öğrenebilirsiniz. Bu bilgileri doğru aygıt sürücüsünü temin etmek ve sürücünüzü güncel tutmak için kullanabilirsiniz.

Malumunuz üzere günümüzün yaygın (!) ve sorunlu (?) işletim sistemi Vista için güncel sürücü çok önemli.  Neden mi derseniz bir kısım oyun Vista&#8217;da düzgün çalışmıyor. Bu oyunların düzgün çalışması [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.techpowerup.com/downloads/1077/TechPowerUp_GPU-Z_v0.2.2.html" target="_blank">GPU-Z</a> isimli ufacık bir program ile ekran kartınız ve grafik işlemciniz hakkındaki bütün bilgileri öğrenebilirsiniz. Bu bilgileri doğru aygıt sürücüsünü temin etmek ve sürücünüzü güncel tutmak için kullanabilirsiniz.</p>
<p><span id="more-127"></span></p>
<p>Malumunuz üzere günümüzün yaygın (!) ve sorunlu (?) işletim sistemi Vista için güncel sürücü çok önemli.  Neden mi derseniz bir kısım oyun Vista&#8217;da düzgün çalışmıyor. Bu oyunların düzgün çalışması için yapılabileceklerden bir tanesi güncel ekran kartı sürücüsü kullanmaktır.</p>
<p>Diğer yöntemler ise :</p>
<ul>
<li>Vista&#8217;ya DirectX 9 yüklemek (sorun çıkartabilir, vazgeçemediğiniz bir oyun söz konusuysa deneyin)</li>
<li>Oyunu Windows XP uyumluluk modunda çalıştırabilirsiniz.</li>
<li>Oyunun Vista ile ilgili sorun giderme gibi bir güncelleme paketi çıkmışsa onu indirip kurabilirsiniz. Bu işlemi uygulayabilmeniz için oyunun lisanslı olması şiddetle önerilir, aksi halde yama yüklenemez. Oyun güncellemelerini google arama motorunda &#8220;game updates&#8221;, &#8220;oyun güncellemeleri&#8221; gibi kelimeleri oyun adı ile birlikte aratıp bulabilirsiniz. Oyun güncellemesini oyunun üretici firmasının web sitesinden indirmeniz sizi malum bazı tehlikelerden koruyacaktır.</li>
</ul>
<p><a href="http://www.chip.com.tr/forum/Windows-Vista-da-Tum-Oyunlari-Sorunsuz-Calistirmak_t55328.html">Chip dergisi forumlarında</a> bu konu ile ilgili faydalı bir başlık var. Oradan devam edebilirsiniz. Bu arada Chip forumlarına üye olmanızı tavsiye ederim, problemlerinize sizin anlayabileceğiniz dilden çözümler önerecek binlerce Türk teknoloji takipçileri göreceksiniz orada.</p>
<p>Kaynaklar:</p>
<ol>
<li><a href="http://www.chip.com.tr/forum">Chip Online Forumları</a></li>
<li><a href="http://www.chip.com.tr/blog/recepbaltas">Recep Baltaş</a></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.savasyasar.com/gunluk3/2008/05/ekran-kartinizin-ozelliklerini-ogrenin-gpu-z/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Etki alanını SBS 2003&#8242;ten Windows 2003&#8242;e dönüştürme</title>
		<link>http://www.savasyasar.com/gunluk3/2008/01/sbs_2003_ten_windows_2003_e_gecis/</link>
		<comments>http://www.savasyasar.com/gunluk3/2008/01/sbs_2003_ten_windows_2003_e_gecis/#comments</comments>
		<pubDate>Sun, 13 Jan 2008 17:31:39 +0000</pubDate>
		<dc:creator>Savaş Yaşar</dc:creator>
				<category><![CDATA[Bilgisayar]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[active directory]]></category>
		<category><![CDATA[ms windows]]></category>
		<category><![CDATA[sbs]]></category>
		<category><![CDATA[small business server]]></category>

		<guid isPermaLink="false">http://www.savasyasar.com/sbs_2003_ten_windows_2003_e_gecis/</guid>
		<description><![CDATA[Microsoft&#8217;un küçük ve orta ölçekli işletmelerin bilgi teknolojisi ihtiyaçları için geliştirdiği hepsi birarada (all-in-one ya da unified) ürünü Small Business Server belli bir süre sonra lisans sınırlaması yüzünden sorunlar ortaya çıkarabiliyor. Bilgisayar ya da kullanıcı sayısı artması sebebi ile SBS hayatınızı zorlaştırıyor olabilir. Kullanıcı ya da pc limiti her SBS versiyonunda değiştiği için bir sayı vermek pek anlamlı değil.
SBS&#8217;nin ne [...]]]></description>
			<content:encoded><![CDATA[<p>Microsoft&#8217;un küçük ve orta ölçekli işletmelerin bilgi teknolojisi ihtiyaçları için geliştirdiği hepsi birarada (all-in-one ya da unified) ürünü Small Business Server belli bir süre sonra lisans sınırlaması yüzünden sorunlar ortaya çıkarabiliyor. Bilgisayar ya da kullanıcı sayısı artması sebebi ile SBS hayatınızı zorlaştırıyor olabilir. Kullanıcı ya da pc limiti her SBS versiyonunda değiştiği için bir sayı vermek pek anlamlı değil.<span id="more-109"></span></p>
<p>SBS&#8217;nin ne olduğuna gelince; bilgi teknolojileri kaynak yönetimi ve paylaşımı, bilgi teknolojileri politikaları merkezi yönetimi, kurumsal mesajlama sistemi, kurumsal veritabanı yönetim sistemi, internet bağlantısı yönetimi ve güvenliği vb ürünlerin kısıtlı sayıda lisanslarla kullanabileceğiniz hepsi bir arada bir çözüm olarak düşünebilirsiniz. İçinde Exchange, SQL, ISA, Outlook, Windows Server vb ürünler var ve bu ürünler birarada çalışmak üzere yapılandırılmış.</p>
<p>Fazla uzatmadan benim paylaşmak istediğim durum bütün SBS<br />
bileşenlerinin kullanılmadığı, kullanıcı sayısının artması sebebiyle normal windows server sistemlerine geçiş senaryosu. SBS 2003&#8242;te kullanıcı limiti 75. Kullanıcı sayısı 75&#8242;i geçince eş anlı bağlantıların sayısı 75&#8242;i geçemiyor, uygulamalar sekteye uğruyor, dolayısıyla SBS 2003 Windows 2003&#8242;e döndürmek gerekiyor. Dönüştürme aşamaları:</p>
<p>- Versiyonları tespit etmek. SBS 2003, SBS 2003 R2, Windows 2003, Windows 2003 R2 sistemlerinden hangisinden hangisine geçiş yapmak istediğinizi belirleyin.<br />
- Geçiş nasıl olacak? Sıfırdan yeni bir Active Directory yapısı kurup eski yapıdan import mu yapmak istiyorsunuz? Eski yapıya dahil olan bir Member Server&#8217;ı DC olarak promote edip rolleri ona mı taşımak istiyorsunuz? Yoksa sıfırdan yeni bir domain kurup bütün clientları baştan mı yapılandırmak istiyorsunuz.. Dönüşümün kısa sürmesi için 2. yöntem veya birinci yöntem tercih edilebilir. Ancak birinci yöntemden kullanıcı bilgileri yeni yapıya transfer edildikten sonra clientların tekrar yapılandırılması gerekebiliyor.<br />
- Ben bu yazıda ikinci yöntemi anlatacağım. Bir member server&#8217;ı Acitve Directory&#8217;e ekstra bir etki alanı denetleyicisi olarak tanıtmak amacımız olacak. Şimdi SBS yapısında AD şemasında Exchange, SQL gibi ekstra özelliklerin dahil olmadığını varsayacağız. Bunların dahil olması işlemleri biraz uzatıyor ama çok fazla farklılaştırmıyor. Sadece Exchange veya Sql bilgisi gerekiyor.</p>
<p>- İkinci yöntemi seçtik, SBS yapısının AD şema sürümü ortama katmak istediğimiz Windows 2003 R2 ile aynı değildi. Belki biliyorsunuzdur Windows Server 2003 R2&#8242;nin AD şemasını zenginleştirmesi sunduğu yeniliklerden birisi. Yeni sistemi kurduğumuz yükleme medyası ile eski SBS&#8217;mizin AD şema sürümünü Windows Server 2003 R2 ile aynı yapmazsak yeni sunucumuzu DC yapamayız. Kullanmamız gereken komut adprep. Kurulum medyasından adprep dosyasını bulup o konumda Komut İstemini çalıştırarak eski sistemin AD şemasını yükseltmek için <code>adprep /forestprep</code> komutunu kullanıyoruz.<br />
- Bu komuttan sonra AD&#8217;ye ekstra DC yapacağımız sunucunun başına geçiyoruz. Bu sunucuda Windows Server 2k işletim sisteminin olması gerektiği aşikar. Önce bunu sunucuyu AD&#8217;ye tanıtıyor yani join ediyoruz. Bu işlem için gerekli TCP/IP ayarlarını burada tekrar etmeme gerek yok.<br />
- Sunucuyu eski yapımıza kattıktan sonra DNS, DHCP, WINS vb yeni sunucuya taşımak istediğimiz rolleri yüklüyoruz. Şu an için gerekmeyen servisleri stop ediyoruz.<br />
- dcpromo komutu ile yeni sunucuyu esktra domain controller olarak ayarlıyoruz.<br />
- eski sunucumuzu ortamdan çekmeden önce ondaki ad rollerini yeni sunucuya taşımalıyız. Yeni sunucuyu global catalog olarak işaretlemeliyiz. Lisans sunucusu olma özelliğini yeni sunucuya taşımalıyız.<br />
- Bu rolleri taşıdıktan sonra yeni sunucuya eskisinin ip adresini vererek veya client yapılandırmasını yeni sunucuya göre ayarlayıp sorun var mı diye kontrol ediyoruz. Yeni sunucunun TCP/IP konfigürasyonunu kendisini DC olarak görecek şekilde yapılandırıp yeniden başlatıyoruz. Yeniden başlatınca olay günlüklerini sorun var mı diye kontrol ediyoruz. Eğer bir sorun çıkmamış ise bir sonraki adımla yola devam ediyoruz.<br />
- Eski sunucunun DC rolünü iptal ediyor yani demote ediyoruz. Buradaki bu sunucu ortamdaki son dc dir veya değildir seçeneğini (ziyaretçilere ödev) düşünerek uygun olanını seçiyoruz.<br />
- Eğer son dc dir demez isek demote işleminden sonra sbs yeni yapının (normal windows server 2003 r2 ad yapısı) bir üye sunucusu olacak. Eğer o rolünü de istemezseniz SBS&#8217;yi domainden çıkarabilir ve AD veritabanından komple silebilirsiniz.<br />
- Şimdi akla gelen sorular şunlar: ortamda exchange olsaydı ne yapacaktık, ortamda sql olsaydı ne yapacaktık&#8230; Yükseltmek istediğimi yapı aynı sürüm değilde üst sürüm olsaydı ne yapacaktık? SBS 2000&#8242;i SBS 2003&#8242;e yükseltmek? SBS 2000&#8242;i Windows 2003&#8242;e yükseltmek? Exchange 2003&#8242;ü 2007&#8242;e yükseltmek? Sorular bitmez, cevaplar da bitmez. Sözün özü hiç kimse herşeyi bilemez, bilmeniz gereken cevabı nerede aramanız gerektiği, nasıl aramanız gerektiği..</p>
<p>Bir sonraki yazıda görüşmek üzere..</p>
]]></content:encoded>
			<wfw:commentRss>http://www.savasyasar.com/gunluk3/2008/01/sbs_2003_ten_windows_2003_e_gecis/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Windows Xp aktivasyonunu yedeklemek</title>
		<link>http://www.savasyasar.com/gunluk3/2007/10/windows-xp-aktivasyon-yedekleme/</link>
		<comments>http://www.savasyasar.com/gunluk3/2007/10/windows-xp-aktivasyon-yedekleme/#comments</comments>
		<pubDate>Wed, 17 Oct 2007 12:43:30 +0000</pubDate>
		<dc:creator>Savaş Yaşar</dc:creator>
				<category><![CDATA[Bilgisayar]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[aktivasyon yedekleme]]></category>
		<category><![CDATA[ms windows]]></category>

		<guid isPermaLink="false">http://www.savasyasar.com/windows-xp-aktivasyon-yedekleme/</guid>
		<description><![CDATA[Bilgisayarlarımızı satın aldığımız zaman Windows XP&#8217;miz yüklü geliyor. Acrobat Reader, Flash Player, Winzip benzeri programlar artık neredeyse hazır geliyor. Sonradan Office gibi programları yüklemek gerekiyor. Buraya kadar bilindik senaryo. Daha sonrası herhangi bir nedenle bilgisayara format atmak gerekebiliyor. Kurtarma seçimiyle yeniden Windows XP kurulumu nedense pek tercih edilmiyor. 
Format sonrası sıfırdan Windows XP kurulumu demek [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.mbentley.net/oc/screen_shots/activation/max_activation.png" alt="Windows Activation" align="left" width="180" style="padding: 5px"/>Bilgisayarlarımızı satın aldığımız zaman Windows XP&#8217;miz yüklü geliyor. Acrobat Reader, Flash Player, Winzip benzeri programlar artık neredeyse hazır geliyor. Sonradan Office gibi programları yüklemek gerekiyor. Buraya kadar bilindik senaryo. Daha sonrası herhangi bir nedenle bilgisayara format atmak gerekebiliyor. Kurtarma seçimiyle yeniden Windows XP kurulumu nedense pek tercih edilmiyor. </p>
<p>Format sonrası sıfırdan Windows XP kurulumu demek yeniden Windows Aktivasyonu demek. Virüs yüzünden olsun, kurcalama yüzünden olsun, elektrik kesintisi vb diğer yanlış kullanmalar yüzünden olsun yeniden Windows kurulma olaylarının yaşandığı ülkemizde aktivasyon limitinin aşıldığı ve Microsoft&#8217;un arandığı durumlar çok fazla. Bu aktivasyon işiyle ilgili bir kolaylık olduğunu biliyor muydunuz? Çok fazla donanım değişikliği olmayan temiz kurulumlarda önceki aktivasyon dosyaları yedeklenerek yeni aktivasyonun önüne geçilebiliyor. Yapılması gerekenler:<br />
<span id="more-90"></span>
<ol>
<li>Yeni kurulum yapmadan önce Windows XP&#8217;nin yüklü olduğu disk bölümündeki X:\Windows\System32 klasörünü açın. </li>
<li>&#8220;wpa.dbl&#8221; ve &#8220;wpa.bak&#8221; dosyalarını başka bir konuma yedekleyin. </li>
<li>Yeni kurulumu neden yapıyorsunuz orayı irdelemeye gerek yok. Yeni bir disk almış olabilirsiniz. Yeni diskinize XP&#8217;yi kurmak eski diskinizi yardımcı disk olarak kullanmak istiyor olabilirsiniz. Yeni kurulumu yaparken kurulum sırasında Ürünü aktifleştirmek istiyor musunuz sorusuna hayır deyin.</li>
<li>Kurulum tamamlandıktan sonra bilgisayarınızı güvenli kipte başlatın. Güvenli kipte başlatmak için açılış esnasında F8 tuşuna basmanız yeterli. F8 olayını beceremez iseniz daha zoru var. Başlat>çalıştır ile msconfig yazarak Boot.ini sekmesinden SAFEBOOT seçeneğini işaretleyip bilgisayarınızı yeniden başlatabilirsiniz.</li>
<li>Güvenli kipte açtıktan sonra Bilgisayarımı çift tıklatın, Windows&#8217;un yüklü olduğu bölüme x:\Windows\system32 klasörüne gidin. Oradaki &#8220;wpa.dbl&#8221; ve &#8220;wpa.bak&#8221; dosyalarını &#8220;wpa.dbl.yeni&#8221;, &#8220;wpa.bak.yeni&#8221; olarak yeniden adlandırın. </li>
<li>Aktivasyon yapılmış eski kurulumdan aldığımız &#8220;wpa.dbl&#8221; ve &#8220;wpa.bak&#8221; dosyalarının yedeklerini X:\Windows\System32 konumuna geri yükleyelim.</li>
<li>Sonra bilgisayarımızı yeniden başlatalım. Eğer bir sorun olmazsa aktive edilmiş bir kurulumumuz olacaktır. Eğer olmamışsa yeni uzantılı dosyalara geri dönüş yapmalısınız. Arkasından bildiğimiz aktivasyon işlemini uygulamamız gerekiyor.</li>
<li>Eğer işe yaradıysa ve msconfig aracıyla açılış seçeneğini değiştirdiyseniz eski haline getirmeyi unutmayın.</li>
</ol>
<p>Aynı makineye her kurulumda yeniden aktivasyon ve Microsoft&#8217;u arama işine son verdik, bravo bize desem olmaz. Bu kolaylık için Microsoft&#8217;a teşekkür etmek lazım.</p>
<p>Kaynaklar:</p>
<ul>
<li><a href="http://tinyurl.com/2q4r8e">Moving Windows XP To A New Hard Disk</a></li>
<li><a href="http://tinyurl.com/36wvvy">Windows Product Activation (WPA) on Windows XP</a></li>
<li><a href="http://tinyurl.com/63z8p">Backup / Restore XP Activation</a></li>
<li><a href="http://tinyurl.com/4e64q">Transferring Windows XP Activation Information</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.savasyasar.com/gunluk3/2007/10/windows-xp-aktivasyon-yedekleme/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Office 2007 uyumsuzlukları</title>
		<link>http://www.savasyasar.com/gunluk3/2007/10/office-2007-uyumsuzluklari/</link>
		<comments>http://www.savasyasar.com/gunluk3/2007/10/office-2007-uyumsuzluklari/#comments</comments>
		<pubDate>Wed, 17 Oct 2007 10:01:40 +0000</pubDate>
		<dc:creator>Savaş Yaşar</dc:creator>
				<category><![CDATA[Bilgisayar]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[ms office]]></category>

		<guid isPermaLink="false">http://www.savasyasar.com/office-2007-uyumsuzluklari/</guid>
		<description><![CDATA[Sizde benim gibi henüz Ms Office 2007&#8242;ye geçmeyenlerden misiniz? Eğer öyleyseniz şu aralar bazı uyumluluk problemleri ile karşılaşmanız muhtemeldir. Office 2007&#8242;ye geçen kullanıcılar gönderdikleri kişide Office 2007 var mı düşünmeden size Office 2007 dosyaları göndermiş olabilirler. Tabii teknolojiyi yakından takip eden kullanıcıların düşünceli davranıp ilgili dosyayı eski office programlarına uyumlu formatta göndermesi beklenemez zaten. Arayıp [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.microsoft.com/turkiye/office/profficeyonel/officeyeni.jpg" alt="Office 2007" align="left" width="180" style="padding: 5px"/>Sizde benim gibi henüz Ms Office 2007&#8242;ye geçmeyenlerden misiniz? Eğer öyleyseniz şu aralar bazı uyumluluk problemleri ile karşılaşmanız muhtemeldir. Office 2007&#8242;ye geçen kullanıcılar gönderdikleri kişide Office 2007 var mı düşünmeden size Office 2007 dosyaları göndermiş olabilirler. Tabii teknolojiyi yakından takip eden kullanıcıların düşünceli davranıp ilgili dosyayı eski office programlarına uyumlu formatta göndermesi beklenemez zaten. Arayıp bu dosyanın Office 2003 formatında olanını gönderir misin derseniz &#8220;Siz halen Office 2003 mü kullanıyorsunuz&#8221; ya da &#8220;Kuzum sen hala Office 2007&#8242;ye geçmedin mi&#8221; cevabı ile karşılaşırsınız.. Teknoloji müdavimi bu dostunuza dosyayı farklı kaydet ile eskiye uyumlu kaydettirmeyi anlatamazsınız. Arkadaş şovunu yapar ve sizi problemle baş başa bırakır.. Peki ne yapabilirsiniz bu sorunu aşmak için?<br />
<span id="more-89"></span></p>
<ul>
<li>Office 2007 deneme sürümü yükler ya da tam sürüm satın alıp yüklersiniz.</li>
<li>Office 2007 yüklü bir tanıdığınıza dosyayı gönderir eskiye uyumlu formatta kaydetmesini ve geri göndermesini rica edersiniz.</li>
<li>Amirinize durumu şikayet eder ve yapacak bir şeyinizin olmadığını söyler, hiç bir şey yapmazsınız. <img src='http://www.savasyasar.com/gunluk3/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  </li>
<li>Microsoft&#8217;un sitesinden 27 MB&#8217;lık uyumluluk paketini indirir, Türkiye&#8217;nin internet çıkışını boşa harcar ama probleminizi çözersiniz. Eski office paketlerini kullanan her bir kullanıcı veya kurum bu 27 mb&#8217;lık dosyayı yurt dışındaki Microsoft sunucusundan defalarca indirir. Fazla uzatmadan <a href="http://www.microsoft.com/downloads/info.aspx?na=90&#038;p=&#038;SrcDisplayLang=tr&#038;SrcCategoryId=&#038;SrcFamilyId=941b3470-3ae9-4aee-8f43-c6bb74cd1466&#038;u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2f8%2f6%2fc%2f86c94b8e-294d-4d5d-867f-8e5c1409b964%2fFileFormatConverters.exe">Word, Excel ve PowerPoint 2007 Dosya Biçimleri İçin Microsoft Office Uyumluluk Paketi&#8217;ni indirmek için burayı tıklayınız</a></li>
</ul>
<p>Bu arada yeri gelmişken Office 2007 ile Office 2003 arasında bir çağ atlama olayının gerçekleştiğini söyleyebiliriz. Ortalama bir Office kullanıcısı için gözle görülür bir değişiklik olup olmadığını söyleyemem ama gelişmiş Office kullanıcıları için bayağı bir kolaylık ve Office 2003 sınırının ortadan kalktığını söyleyebilirim. <a href="http://office.microsoft.com/tr-tr/getstarted/FX101055081055.aspx">Office 2007 yeniliklerini </a> Microsoft Türkiye sitesinden görebilirsiniz. İlk göze çarpan yenilikler:</p>
<ol>
<li>Ana menü değişmiş. Menü adımları eski yapıya benzemez bir şekilde gruplanmış. Artık yapacağınız işe göre menüleri tarıyor ve kullanmak istediğiniz komutu seçiyorsunuz.</li>
<li>Görsel olarak göze hitap eden bir tasarım söz konusu. Yeni fontlar vb eklenmiş.</li>
<li>Özet tablo, süzme, sıralama vb işlemlerde 2003&#8242;ün sahip olduğu komik sınırlamalar kaldırılmış. Veri tabanındaki verilere erişen bir özet tablo içeren bir excel dosyasının boyutu eskisine nazaran gözle görülecek derecede küçülmüş. Örneğin 250.000 kayıt içeren bir veri kaynağından oluşturulmuş Excel dosyası 2003 formatında >60 mb iken 2007 formatında 15 mb gibi bir alan kaplıyor.</li>
<li>Şablon desteği, Office sitesine bakar iseniz Office 2007 uyumlu şablon sayısı gözünüzü kamaştırabilir. Tabi bu bir başlangıç yatırımı olabilir. İnsanları Office 2007 yönlendirdikten sonra şablon havuzuna yeni eklemeler yapılmayabilir.</li>
<li>Sistem kaynağı kullanımına gelince, eskisine nazaran daha az sistem kaynağı tükettiğini söylemek mümkün değil tabii. Grafik motoru kullanımı daha fazla. Büyük boyutlu dosyalarda performans artışı var. Eski sıkıntılar giderilmiş gibi. Ama donanım yeni Microsoft ürünleri için olmazsa olmazdır. Yeni nesile geçerken en azından da olsa donanım yükseltmesi gerekir.</li>
</ol>
<p>Peki Office 2007&#8242;nin getirdiği yeniliklerin ne kadarını ücretsiz muadilleri veriyor. Artık Star Office&#8217;de ücretsiz. Star Office&#8217;i denemedim, yalnız OpenOffice&#8217;in pek aşağı kaldığı söylenemez. Fiyat / Performans oranı bakımından OpenOffice&#8217;in tercih edilebileceği yerlerde vardır. </p>
<p>Netice de yeni teknoloji demek yeni uyum sorunları demek. Ama Microsoft bizi unutmamış birde uyum paketi hazırlamış.</p>
<p><a href="http://www.microsoft.com/downloads/info.aspx?na=90&#038;p=&#038;SrcDisplayLang=tr&#038;SrcCategoryId=&#038;SrcFamilyId=941b3470-3ae9-4aee-8f43-c6bb74cd1466&#038;u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2f8%2f6%2fc%2f86c94b8e-294d-4d5d-867f-8e5c1409b964%2fFileFormatConverters.exe">Office 2007 uyum paketi için tıklayınız..</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.savasyasar.com/gunluk3/2007/10/office-2007-uyumsuzluklari/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
