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
<<  Aralık 2017  >>
PaSaÇaPeCuCuPa
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567
Keywords

Bu yazımda bir okuyucumdan gelen soruyu ve cevabımı sizin de işinize yarayacağını düşündüğüm için paylaşmak istiyorum.

[more]

Soru şu şekilde;

Turgay Bey, Deneme amaçlı bir kullanıcı ekledim ve bu kullanıcıyı sitenizdeki "SQL Server–Bir Login’i User’ları ile Beraber Tamamen Silmek" makalenizdeki sp ile sildim. Burada bir problemim yok.Fakat bu kullanıcıyı silmeme rağmen Mangement Studio açılış ekranında hala o kullanıcıyı görebiliyorum.Aynı şekilde daha önce bağlandığım Server isimlerini de.Sizden öğrenmek istediğim bu açılış ekranındaki bilgileri nasıl silebilirim.Umarım sıkıntımı anlatabilmişimdir.Şimdiden teşekkür eder,iyi çalışmalar dilerim.Saygılarımla...

Okuyucumun yapmak istediği Management Studio bağlantı ekranında daha önceden kullandığımız sunucu adı ve kullanıcı bilgilerini silmek.

image

Bu bilgiler bilgisayarın document and settings kısmında saklanmaktadır. Tam dizin SQL Server versiyonuna ve işletim sisteminin versiyonuna göre değişmektedir. Örneğin win7+SQL Server 2008 kurulumlu benim makinamda dosyanın bulunduğu yer şu şekilde;

C:\Documents and Settings\[user]\AppData\Roaming\Microsoft\Microsoft SQL Server\100\Tools\Shell\SqlStudio.bin

Bu dosyayı sildikten sonra SSMS’i tekrar çalıştırırsanız eski sunucu adları ve kullanıcı adlarının silindiğini göreceksiniz.

Diğer işletim sistemi ve SQL Server versiyonu kombinasyonlarına göre dosyanın tutulduğu klasörler şu şekilde;

Windows Server 2003 ya da XP için

  • SQL Server Management Studio 2005:
    C:\Documents and Settings\[user]\Application Data\Microsoft\Microsoft SQL Server\90\Tools\Shell\mru.dat

Windows Server 2008, Vista ya da windows 7 için

  • SQL Server Management Studio 2008:
    C:\Users\\AppData\Roaming\Microsoft\Microsoft SQL Server\100\Tools\Shell\SqlStudio.bin
  • SQL Server Management Studio 2005:
    C:\Users\\AppData\Roaming\Microsoft\Microsoft SQL Server\90\Tools\Shell\mru.dat

 

İyi Çalışmalar

Turgay Sahtiyan

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 gelen yenilikler ve iyileştirmeler üzerine incelemelerimize devam ediyoruz. Bugünkü konumuz Management Studio üzerinden restore işlemi yaparken kullandığımız ara yüzde yapılan iyileştirmeler ve geliştirmeler.

[more]

Microsoft’un açıkladığına göre bu iyileştirmelerin bir çoğu müşterilerden gelen istekler doğrultusunda gerçekleştirilmiş. Aslında çok büyük geliştirmeler söz konusu değil fakat restore ekranı çok sık kullanılan bir ekran olduğu için geliştirmeler oldukça faydalı olmuş.

Sözü fazla uzatmadan yapılan iyileştirme ve geliştirmelere bakalım.

1

1. Restore dosyasını seçtiğimiz anda ilgili backup’lar otomatik olarak seçilmekte. Çok büyük bir özellik olarak gözükmese bile her restore işleminde bunları seçiyor olmak bize zaman kaybettirmekteydi.

2. Restore edilecek database’in adı backup dosyasından okunup default olarak otomatikman yazılmakta. Ayrıca Restore to kısmında default olarak yazan “the last backup taken” yazısının yanına en son alınan backup’ın tarihi de eklenmiş durumda.

3. Restore ekranında yapılan belki de en büyük geliştirme zaman bazlı restore işlemleri için kullanabileceğimiz Görsel Zaman Çizelgesi ekranı.

2

Bu ekran vasıtasıyla backup’ların ne zaman alındığını görsel bir zaman çizelgesi üzerinde görebiliyoruz. Ayrıca zaman bazlı bir seçim yaptığımızda seçtiğimiz tarihin görsel olarak hangi alana denk geldiğini görerek hangi backup’ların restore edileceğini rahatça görebiliyoruz.

4. Files bölümünde ise oldukça faydalı olacağını düşündüğüm bir geliştirme yapılmış.

3

Relocate all files to folder kısmında restore edilecek database’in data ve log dosyalarının nereye yerleştirileceğini seçebiliyoruz. Daha önce bu işlemi dosya dosya yapabiliyorduk. 1’den fazla örneğin 8 tane data dosyası içeren database’de klasör değişikliğini her bir dosya için ayrı ayrı yapmamız gerekiyordu. Bu yeni özellik vasıtasıyla artık çok daha hızlı bir şekilde bu değişiklikleri yapabileceğiz.

5. Options bölümünde ilk göze çarpan, ekranı daha kullanışlı hale getirebilmek için yapılan düzenlemeler. Bunun haricinde Restore’den önce Tail-Log backup alınmasını istiyorsak bunu seçebiliyoruz.

4

6. Bir diğer güzel geliştirme ise Restore işleminden önce bağlı kullanıcıların disconnect edilmesi. Bunu sağlamak için database, restore’dan önce otomatik olarak single user mode’a alınmaktadır.

SSMS Restore ekranında yapılan iyileştirmeler ve geliştirmeler bu şekilde. Daha önce söylediğim gibi bu geliştirmeler çok büyük geliştirmeler değil. Fakat restore ekranı çok sık kullandığımız bir ekran olduğu bu geliştirmelerin işlerimizi hızlandıracağı aşikar.

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’da sistemin nasıl çalıştığını kontrol etmek için bakacağımız belkide ilk yer SQL Server Error Log’larıdır. SQL Server ve Agent Error Log’ları sayesinde sistemde herhangi bir ciddi problem olup olmadığını kontrol etmemiz mümkündür.

Bugünkü yazımda SQL Server Error Log’ların sayısının nasıl arttırılacağını, yeni bir error log dosyasının nasıl create edilebileceğini, kısacası SQL Server’da Error Log’lar ile çalışırken hangi best practice’leri uygulamamız gerektiğinden bahsedeceğim.

[more]

Bu makalemde şu ana başlıklar üzerinde duracağız.

  • SQL Server’da Error Log’lar ile Çalışmak
  • Database Engine Error Log’ları
    • Database Engine Error Log’ları Hakkında Genel Bilgilendirme
    • Database Engine Error Log Recycle’ı Elle Tetiklemek (master.sys.sp_cycle_errorlog)
    • Database Engine Error Log’larının Sayısını Arttırmak
    • Database Engine Error Log’ları Okumak İçin Özelleştirilmiş Log Arama SP’si
    • Başarılı Backup İşlemi Log’larının Error Log’a Yazılmasını Engellemek
  • SQL Server Agent Error Log’ları
    • SQL Server Agent Error Log’ları Hakkında Genel Bilgilendirme
    • SQL Server Egent Error Log Recycle’ı Elle Tetiklemek (msdb.sys.sp_cycle_agent_errorlog)
  • Error Log Recycle İşlemini SQL Job ile Tetiklemek

SQL Server ve Agent Error Log’lar eğer değişiklik yapılmadıysa şu tarz bir folder’da bulunur.

C:\Program Files\Microsoft SQL Server\MSSQL10.S10ENT\MSSQL\Log

Bu folder’da bulunan ERRORLOG isimli dosyalar Database Engine’in Error Log’ları, SQLAGENT şeklinde başlayan dosyalar ise SQL Server Agent’ın Error Log’larıdır.

Database Engine Error Log’ları

SQL Server Database Engine için default olarak 1 adet aktif (ERRORLOG) ve 6 adet arşiv (ERRORLOG.1’den ERRORLOG.6’ya kadar olan dosyalar) olmak üzere 7 adet error log dosyası bulunmaktadır. Her SQL Server servisi restart olduğunda aktif olan log ERRORLOG.1 haline dönüşür ve ondan sonraki error log’lar da bir sıra kayar. Ve sondaki error log’da silinir. (Bu işleme recycle denilmektedir.)

Recycle işlemini şu şekilde gösterebiliriz.

el1

Recycle işleminin servis restart’ı ile olduğunu söylemiştik. Bu işlemi elle tetiklemekte mümkündür. Bir sonraki bölümde bu işlemin nasıl yapılabileceğine değiniyor olacağım.

Database Engine Error Log Recycle’ı Elle Tetiklemek (master.sys.sp_cycle_errorlog)

SQL Server Database Engine servisi restart olduğunda yeni bir error log dosyası oluşur ve en sondaki error log dosyası silinir demiştik. Bu işleme de Recycle dendiğini belirtmiştik. Detayları bir önceki bölümde inceleyebilirsiniz.

SQL Server servisinin uzun süre ayakta olduğu ya da bir hatadan dolayı çok fazla error basıldığı durumda aktif ErrorLog dosyası şişmeye başlar ve büyük bir boyuta erişir. Böyle bir durumda bu errorlog dosyasının içeriğine bakmak oldukça güç hale gelir.

İşte böyle bir durumda 0’dan yeni bir error log dosyası oluşturmak için servisi restart etmektense recycle işlemini elle tetiklememiz mümkündür.

Aşağıdaki SP execute edildiğinde aktif olan errorlog dosyası ERRORLOG.1 haline dönüşecek ve yeni bir error log dosyası 0’dan oluşturulacaktır.

EXEC master.sys.sp_cycle_errorlog;

 

Database Engine Error Log’larının Sayısını Arttırmak

Bir önceki bölümde anlattığım gibi servis restart olduğunda ya da recycle işlemi elle tetiklendiği zaman yeni bir error log dosyası oluşturulur ve en sondaki error log dosyasıda silinir. Yani default olarak 1 aktif 6 da arşiv olmak üzere 7 error log dosyasına izin verilir.

Error Log’lar sistemi analiz etmek için etkin yöntemlerden biri olduğu için eski error log dosyalarının hemen silinmesini istemeyebiliriz. Bu durumda saklanacak error log dosyası parametresini değiştirmemiz gerekir.

Bu değişikliği Management Studio üzerinden şu şekilde yapabiliriz.

  1. Management >> SQL Server Logs yazısına sağ tıklayıp configure ekranını açıyoruz. 

    el2
  2. Gelen ekranda kaç adet error log’un arşiv olarak saklanmasını istediğimizi belirtip OK’e basıyoruz. 

    el3

Database Engine Error Log’ları Okumak İçin Özelleştirilmiş Log Arama SP’si

SQL Server Log’larını okurken filter özelliği kullanabilmekteyiz. Ama bu filter özelliği sadece “like” yani “içinde geçen” şeklinde çalışmaktadır. Ve ne yazık ki “not like” yani “içinde geçmeyen” şeklinde bir filter verememekteyiz. Peki ne zaman ihtiyacımız olur not like aramasına. Örneğin başarılı backup işlemleri loglandığında ve çok sık aralıklarla TLog backup’ı aldığımızda log dosyası çok fazla sayıda backup bilgisi ile dolmaktadır. Ve biz bu backup loglarını exclude ederek raporu görüntülemek isteyebiliriz.

İşte bu amaçla yazmış olduğum SP’yi anlattığım makaleme buradan erişebilirsiniz.

Başarılı Backup İşlemi Log’larının Error Log’a Yazılmasını Engellemek

SQL Server da başarılı olan her backup işlemi bildiğiniz gibi SQL Server Log’a yazılmaktadır. TLog backup kullanımınız var ise ve çok sıklıkla backup alıyorsanız SQL Server Log a çok fazla sayıda kayıt yazılacaktır ve bu da log’un okunmasını zorlaştıracaktır. Şu linkten erişebileceğiniz makalemde başarılı backup işlemlerinin SQL Server Log’a yazılmasını nasıl engelleyeceğimizi görebilirsiniz.

SQL Server Agent Error Log’ları

SQL Server Agent Error Log’ları da Database Engine Error Log’ların da olduğu gibi servis restart olduğunda recycle olur. Tabi burada bahsettiğimiz servis database engine servisi değil SQL Server Agent servisidir.

Bir diğer farklılık ise Database Engine log’ları default olarak 1+6 log file’dan oluşmakta ve bu rakamda değişiklik yapılabilmekteyken SQL Agent Error Log’ları 1+9 log file’dan oluşmakta ve bu rakamlarda değişiklik yapılamamaktadır. Aktif olan SQL Agent Error Log’un dosya adı SQLAGENT.OUT, arşiv olan log file’ların adları ise SQLAGENT.x şeklindedir.

SQL Server Agent Error Log Recycle’ı Elle Tetiklemek (master.sys.sp_cycle_agent_errorlog)

SQL Server Agent Error Log recycle işlemini hem SSMS’ten hem de TSQL ile yapmamız mümkündür.

Management Studio’dan recycle işlemini yapmak için SQL Server Agent >> Error Logs yazısına sağ tıklayıp açılan ekrandan Recycle yazısını tıklamamız gerekir.

el4

Aynı işlemi TSQL ile şu şekilde yapabiliriz.

EXEC msdb.dbo.sp_cycle_agent_errorlog;

 

Error Log Recycle İşlemini SQL Job ile Tetiklemek

Error Log’ları servisler restart olduğunda recycle olur aynı zamanda elle tetiklememizde mümkündür diye belirtmiştik.

Şimdi bu işlemi otomatize etmek için bir SQL Server Job hazırlayacağız ve her ayın başında çalışan bu job vasıtasıyla hem database engine hem SQL Server Agent log’larını otomatik olarak recycle edeceğiz.

Bu şekilde otomatik olarak error log’ların boyutlarını kontrol altında tutmuş olacağız.

Bahsi geçen Job’ın script’ine aşağıda erişebilirsiniz.

USE [msdb]
GO
BEGIN TRANSACTION
DECLARE @ReturnCode INT
SELECT @ReturnCode = 0
IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'Database Maintenance' AND category_class=1)
BEGIN
EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'Database Maintenance'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

END

DECLARE @jobId BINARY(16)
EXEC @ReturnCode =  msdb.dbo.sp_add_job @job_name=N'Error Log Recycle', 
		@enabled=1, 
		@notify_level_eventlog=0, 
		@notify_level_email=0, 
		@notify_level_netsend=0, 
		@notify_level_page=0, 
		@delete_level=0, 
		@description=N'No description available.', 
		@category_name=N'Database Maintenance', 
		@owner_login_name=N'sa', @job_id = @jobId OUTPUT
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Database Engine Log Recycle', 
		@step_id=1, 
		@cmdexec_success_code=0, 
		@on_success_action=3, 
		@on_success_step_id=0, 
		@on_fail_action=2, 
		@on_fail_step_id=0, 
		@retry_attempts=0, 
		@retry_interval=0, 
		@os_run_priority=0, @subsystem=N'TSQL', 
		@command=N'EXEC master.sys.sp_cycle_errorlog;', 
		@database_name=N'master', 
		@flags=0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'SQL Server Agent Log Recycle', 
		@step_id=2, 
		@cmdexec_success_code=0, 
		@on_success_action=1, 
		@on_success_step_id=0, 
		@on_fail_action=2, 
		@on_fail_step_id=0, 
		@retry_attempts=0, 
		@retry_interval=0, 
		@os_run_priority=0, @subsystem=N'TSQL', 
		@command=N'EXEC msdb.dbo.sp_cycle_agent_errorlog;', 
		@database_name=N'msdb', 
		@flags=0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id=@jobId, @name=N'Every Month', 
		@enabled=1, 
		@freq_type=16, 
		@freq_interval=1, 
		@freq_subday_type=1, 
		@freq_subday_interval=0, 
		@freq_relative_interval=0, 
		@freq_recurrence_factor=1, 
		@active_start_date=20110419, 
		@active_end_date=99991231, 
		@active_start_time=0, 
		@active_end_time=235959, 
		@schedule_uid=N'f631ead7-612f-4536-bd65-15aa1f75179a'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
COMMIT TRANSACTION
GOTO EndSave
QuitWithRollback:
    IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
EndSave:

GO

 

SQL Server’da sistemin nasıl çalıştığını kontrol etmek için Error Log’ların analizi oldukça fazla kullanılan yöntemlerden biridir. Bu yüzden best practice’lere göre ayarlanmış SQL Server ve Agent Error Log kullanımı ileride oluşabilecek sıkıntıların önüne geçmek için çok önemlidir.

 

İyi Çalışmalar

Turgay Sahtiyan

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 Management Studio da sık kullanılan SQL Server scriptlerini SQL Server Template lerinde saklayabilmekteyiz. Hatta SSMS default kurulumunda yüzlerce template ile beraber gelmekte ve syntax ını hatırlayamadığımız scriptler de bize yardımcı olmakta. Bugünkü yazımda SQL Server Template e kaydettiğimiz scriptleri nasıl Export – Import edeceğimizi görüyor olacağız.

[more]

SSMS te SQL Server Template açık değilse View >> Template Explorer kısmını yada Ctrl + Alt + T kısayolunu kullanarak açalım.

Clipboard11

Ekranın sağ tarafına Template Explorer gelecektir.

Clipboard12

Şimdi yazımızın konusu olan bu template leri nasıl Export – Import ettiğimize bakalım.

Template ler Windows7 için C klasöründe aşağıdaki folder da tutulmaktadır.

C:\Users\turgay\AppData\Roaming\Microsoft\Microsoft SQL Server\100\Tools\Shell\Templates\Sql\DBA\

WinXP için ise;

C:\Documents and Settings\turgay\Application Data\Microsoft\Microsoft SQL Server\100\Tools\Shell\Templates\Sql\DBA\

Diğer windows sürümlerinde de buna benzer klasörler olacaktır.

Clipboard13

Buradaki file ları alıp istediğiniz PC ye taşıyarak template export – import u gerçekleştirebilirsiniz.

 

İyi Çalışmalar

Turgay Sahtiyan

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


Bugün size bir çoğumuzun bilip hali hazırda kullanmakta olduğunu düşündüğüm bir konudan bahsetmek istiyorum. Belki hala bu özelliği kullanmayan vardır diyerek konuya giriyorum.

Bugünkü konumuz SQL Server Management Studio Object Explorer da bulunan filter özelliği.

[more]

Object Explorer filter özelliği, DB objeleri üzerinde çalışırken objeleri daha rahat bulmaya yarayan bir Management Studio özelliğidir.

Örneğin bir production DB nizde 10 bin den fazla table var ve siz table listesinden bir table a erişmek istiyorsunuz.

Zaten hali hazırda bu listeyi görüntüleyebilmek bile her makinanın harcı değilken birde bu listeden table ı bulmaya çalıştığınızı düşünün.

image

Object Explorer filter özelliği ile table listesinde ada yada schema adına göre filtreleme yaparak sorgu sonucunu kısaltıp erişmek istediğiniz objeye daha hızlı erişebilirsiniz.

Örneğin AdventureWorks DB sinde Production.Location tablo suna filter özelliği ile hızlıca erişmek istiyorum.

Bunun için Object Explorer da Tables node unda sağ tuşa tıklayıp Filter >> Filter Settings kısmına geçiyoruz.

image

Gelen ekranda aşağıdaki bilgiler ile arama yada filtreleme yapabiliyoruz.

  • Name – Aranan objenin adına göre filtreleme. Equal(Eşit), Contains(İçeren) yada Does Not Contain (İçermeyen) parametreleri ile sorgulama yapılabilmekte.
  • Schema – Aranan objenin schema adına göre filtreleme. Equal(Eşit), Contains(İçeren) yada Does Not Contain (İçermeyen) parametreleri ile sorgulama yapılabilmekte.
  • Owner – Aranan objenin owner ına göre filtreleme. Equal(Eşit) yada Does Not Contain (İçermeyen) parametreleri ile sorgulama yapılabilmekte.
  • Creation Date – Arana objenin oluşturulma tarihine göre filtreleme.

Biz örneğimizde Production.Location table ını arıyoruz. Bunun için filter ekranını aşağıdaki gibi dolduruyoruz.

image

Daha sonra Ok e bastığımızda table kısmını filterelemiş ve obje mize eriştiğimizi göreceğiz.

image

Yapılmış olan filtreyi Sağ tık ta açılan pencereden Filter >> Remove Filter dan kaldırabiliriz.

image

Basit ama önemli bir upucu olduğunu düşünüyorum.

Bu tarz filtreleme işlemlerinin Table, View, Stored Procedure, Function gibi objelerin tamamında uygulanabildiğini not düşerek yazıma son veriyorum.

 

İyi çalışmalar

Turgay Sahtiyan

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 2008 Management Studio da bir table ın tanımlamasında değişiklik yaptığınızda aşağıdaki gibi bir hata ile karşılaşabilirsiniz.

Saving changes is not permitted because the changes you have made require the listed tables to be dropped and re-created.

[more]

untitled 

Bu hata table ın tanımlamasında aşağıdaki değişiklikler yapıldıktan sonra kaydetmeye çalıştığınızda ortaya çıkar.

  • Table ın sonuna değil ortalarına bir kolon eklendiğinde
  • Bir kolon kaldırıldığında
  • Kolon null olup olmaması özelliği değiştirildiğinde
  • Kolonların yeri değiştirildiğinde.
  • Kolon un data tipi değiştirildiğinde.

Bu hatadan kurtulmak için Management Studio >> Options >> Designers >> Table and Database Designers menüsündeki Prevent saving changes that require the table to be re-created seçeneğinin işareti kaldırılmalıdır.

image

 

İyi çalışmalar

Turgay Sahtiyan

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 taze taze rastladığım bir hata ve çözümünden bahsetmek istiyorum.

SQL Server 2008 64 bit SQL Server kurulu bir server dan SQL Server 2000 e Linked Server ile bağlantı kurmaya çalışırken aşağıdaki gibi bir hata alabilirsiniz.

Msg 7311, Level 16, State 2, Line 1
Cannot obtain the schema rowset "DBSCHEMA_TABLES_INFO" for OLE DB provider "SQLNCLI" for linked server "<LinkedServerName>". The provider supports the interface, but returns a failure code when it is used.

Bunun sebebi bağlanmaya çalıştığınız SQL Server 2000 de SP3 ve SP4 ün kurulu olmaması.

Çözüm olarak 2 yol önereceğim;

  • Bağlanmaya çalıştığınız SQL Server 2000 e SP3 ve SP4 ü yükleyin.
  • Eğer daha kısa bir çözüm istiyorsanız aşağıdaki SP yi bağlanmaya çalıştığınız SQL Server 2000 de master DB sinde create edin.
use master
create procedure sp_tables_info_rowset_64
	@table_name sysname,
	@table_schema sysname = null,
	@table_type nvarchar(255) = null
as
	declare @Result int set @Result = 0
	exec @Result = sp_tables_info_rowset @table_name, @table_schema, @table_type
go

 

Konuyla ilgili KB article a da buradan erişebilirsiniz. http://support.microsoft.com/kb/906954

İyi çalışmalar

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 2008 Management Studio Object Explorer da Table a sağ tıkladığımızda aşağıdaki gibi bir ekranla karşılaşırız.

er1

Bu ekranı kullanarak Select yada Edit işlemi yapmak istediğinizde Top 1000 ve 200 rakamları ile sınırlı kalınmaktadır.

Bazı durumlarda bu rakamlar az gelmektedir. Peki bu rakamları nereden değiştirebiliriz.

Management Studio da Tools >> Options menüsünü açalım.

Gelen ekrande SQL Server Object Explorer ekranını açtığınızda bu değerleri değiştireceğiniz yerlere görecekseniz.

er2

Değişiklikleri yapıp Ok e basarsanız artık yeni rakamlarla Select ve Edit yapabilirsiniz.

er3

İyi çalışmalar

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,

SQL Server 2008 in ücretsiz versiyonu olan Express edition da bildiğiniz gibi Management Studio yok. Bu yazımda Management Studio yu SQL Server 2008 Express e ekstradan nasıl yükleriz onu göreceğiz.

İlk olarak bu işleme başlamadan önce maninanızda .NET FrameWork 2.0 ve MSXML 6.0 Parser yüklü olması gerekmekte. Bunun için linklere gidip uygun dosyaları makinanıza yükleyiniz.

SQL Server 2008 Express Management Studio (SSMSE) yu bu adresten indirebilirsiniz.

İndirip kurmaya başladığınızda aşağıdaki gibi bir hata alabilirsiniz.

SSMSE

Bu hatayı giderebilmek için bu adresten Windows PowerShell 1.0 ı indirip yükleyiniz.

PowerShell yüklemesi bittikten sonra SSMSE kurulumunu tekrar yaparsanız Management Studio sorunsuz olarak yüklenecektir.

Kolay gelsin

Turgay Sahtiyan

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