{"id":1545,"date":"2016-01-27T12:48:37","date_gmt":"2016-01-27T10:48:37","guid":{"rendered":"http:\/\/www.ozgurguler.net\/blog\/?p=1545"},"modified":"2016-04-27T12:49:54","modified_gmt":"2016-04-27T09:49:54","slug":"logo-sql-2005-ve-sql-2008-collation-name-degisikligi-islemleri","status":"publish","type":"post","link":"https:\/\/www.ozgurguler.net\/blog\/logo-sql-2005-ve-sql-2008-collation-name-degisikligi-islemleri\/","title":{"rendered":"Logo Sql 2005 Ve SQL 2008 Collation Name De\u011fi\u015fikli\u011fi i\u015flemleri"},"content":{"rendered":"<p>Bu\u00a0makalede veritaban\u0131n\u0131n collation name bilgisi nas\u0131l de\u011fi\u015ftirilece\u011fini anlat\u0131yor olaca\u011f\u0131z. Bu i\u015fleme ba\u015flamadan \u00f6nce <strong>collation<\/strong> nedir sorusunun cevab\u0131n\u0131 verelim.<\/p>\n<p>Collation, SQL Server da character set anlam\u0131na gelmektedir. E\u015fitliklerde, order i\u015fleminde, b\u00fcy\u00fck k\u00fc\u00e7\u00fck harf ayr\u0131m\u0131nda karakterlerin hangi mant\u0131kta kullan\u0131laca\u011f\u0131n\u0131 belirler. Genelde T\u00fcrk\u00e7e database lerde kullan\u0131lan <strong><em>Turkish_CI_AS<\/em> yada <\/strong><em><strong>SQL_Latin1_General_CP1254_CI_AS<\/strong><\/em> collation \u0131nda ki CI ifadesi Case Insensitive(B\u00fcy\u00fck k\u00fc\u00e7\u00fck harf ayr\u0131m\u0131 olmas\u0131n) anlam\u0131na gelmektedir.<\/p>\n<p>\u00d6zellikle SQL 2000\u2019de collation name olarak <strong><em>Turkish_CI_AS<\/em> <\/strong>se\u00e7ilmekteydi, fakat SQL 2005 ve SQL 2008\u2019e gi\u00e7i\u015f sonras\u0131nda daha \u00e7ok<em><strong>SQL_Latin1_General_CP1254_CI_AS<\/strong><\/em><em> kullan\u0131lmaya ba\u015flanm\u0131\u015ft\u0131r.<\/em><\/p>\n<p>&nbsp;<\/p>\n<div>\n<p>Firma g\u00fcncelleme s\u0131ras\u0131nda al\u0131nan (Cannot resolve the collation conflict between &#8220;<strong><em>SQL_latin1_General_CP1254_CI_AS<\/em><\/strong>&#8221; and &#8220;<strong><em>Turkish_CI_AS<\/em><\/strong>&#8221; in the equal to operation) hatas\u0131 g\u00fcncellenmek istenen firmaya ait tablolar LG_XXX_XX_&#8230;.\u00a0 ile firma ba\u011f\u0131ms\u0131z tablalar\u0131n L_&#8230;. \u00a0collation namelerinin farkl\u0131 olmas\u0131ndan yada farkl\u0131 firma database kullan\u0131m\u0131 oldu\u011funda ve master database ile firma database\u00a0 tablolar\u0131n\u0131n collation nameleri farkl\u0131 oldu\u011fu durumlarda kar\u015f\u0131la\u015f\u0131lmaktad\u0131r<\/p>\n<p>\u00d6rne\u011fin;<\/p>\n<p>Master database tablolar\u0131ndaki collation bilgisi <strong><em>Turkis_CI_AS<\/em><\/strong>, firma database collation bilgisi ise <strong><em>SQL_Latin1_General_CP1254_CI_AS<\/em><\/strong> oldu\u011fu durumda firma g\u00fcncellemesi s\u0131ras\u0131nda LV_XXX_XX_TRDGRP view sorgusunda ge\u00e7en master databese alt\u0131ndaki L_TRADGRP tablosu ile firma database alt\u0131ndaki LG_XXX_XX_CLFLINE tablosu e\u015fitlenirken e\u015fitlenmek istenen varchar tipindeki alanlar\u0131n collation namelerinin farkl\u0131 olmas\u0131ndan kaynaklan\u0131yor olabilir.<\/p>\n<p>L_TRADGRP.GCODE = LG_XXX_XX_CLFLINE.TRADINGGRP<\/p><\/div>\n<div>\n<table border=\"0\">\n<tbody>\n<tr>\n<td><img decoding=\"async\" src=\"http:\/\/support.logo.com.tr\/images\/Documents\/NDS\/resim1.png\" alt=\"http:\/\/support.logo.com.tr\/images\/Documents\/NDS\/resim1.png\" \/><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div>\n<p>Ya\u015fanan collation name sorunlar\u0131 \u00a0\u00e7\u00f6z\u00fcm\u00fc i\u00e7in a\u015fa\u011f\u0131daki ad\u0131mlar s\u0131ras\u0131 ile izlendi\u011finde database ve tablolar\u0131n collation name bilgileri (Uyarlama tablolar\u0131da dahil) e\u015fitlenmi\u015f olacakt\u0131r.<\/p>\n<p>\u00d6NEML\u0130:<\/p>\n<p>\u0130\u015flem ad\u0131mlar\u0131na ba\u015flamadan tablo ve kolonlar\u0131n collation name bilgilerinin hatal\u0131 oldu\u011fundan emin olunmal\u0131d\u0131r. A\u015fa\u011f\u0131daki sorgu ile hatal\u0131 kay\u0131tlar tespit edilebilir.<\/p>\n<p>A\u015fa\u011f\u0131daki sorgu collation name bilgisi <strong><em>&#8216;SQL_Latin1_General_CP1254_CI_AS\u2019<\/em><\/strong> d\u0131\u015f\u0131ndaki kay\u0131tlar\u0131 listelemektedir.<\/p>\n<p>Not: Query Analizer\u2019da Do\u011fru database se\u00e7ildi\u011finden emin olun.<\/p>\n<p>SELECT * FROM<\/p>\n<p>INFORMATION_SCHEMA.COLUMNS<\/p>\n<p>WHERE DATA_TYPE IN (&#8216;varchar&#8217;)<\/p>\n<p>AND COLLATION_NAME NOT LIKE &#8216;SQL_Latin1_General_CP1254_CI_AS&#8217;<\/p>\n<p>\u0130\u015flem ad\u0131mlar\u0131;<\/p>\n<p><strong>1 \u2013 Program\u0131 kullanan kullan\u0131c\u0131lar sistemden \u00e7\u0131kart\u0131lmal\u0131 ve database yede\u011fi al\u0131nmal\u0131d\u0131r.<\/strong><\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/p>\n<p><strong>2 &#8211;\u00a0 SQL Query Analizer a\u00e7\u0131lmal\u0131 ve collation name de\u011fi\u015fikli\u011fi yap\u0131lacak database se\u00e7ilmelidir. (Farkl\u0131 firma database kullan\u0131m\u0131 var ise her firma databasesi i\u00e7in ayn\u0131 i\u015flemler yap\u0131lmal\u0131d\u0131r)<\/strong><\/p>\n<p>Not: Bu i\u015flemler sadece Query Analizer \u00fczerinde yap\u0131labilir. Vtyonet.exe \u00fczerinden bu i\u015flemler yap\u0131lmamal\u0131.<\/p>\n<table border=\"0\">\n<tbody>\n<tr>\n<td><img decoding=\"async\" src=\"http:\/\/support.logo.com.tr\/images\/Documents\/NDS\/resim2.png\" alt=\"http:\/\/support.logo.com.tr\/images\/Documents\/NDS\/resim2.png\" \/><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/p>\n<p><strong>3 \u2013\u00a0 A\u015fa\u011f\u0131daki sorgu Query Analizer\u2019a kopyalan\u0131p NonClustered \u0130ndexler Silinmelidir.<\/strong><\/p>\n<p>Not: Query Analizer\u2019da Do\u011fru database se\u00e7ildi\u011finden ve yedekler al\u0131nd\u0131\u011f\u0131ndan emin olun.<\/p>\n<p>declare @ST_Indexes table<\/p>\n<p>(\u00a0\u00a0\u00a0 SiraNo\u00a0 int identity(1,1) primary key clustered,<\/p>\n<p>Tablo_Adi nvarchar(255),<\/p>\n<p>Index_Adi nvarchar(255))<\/p>\n<p>INSERT INTO @ST_Indexes<\/p>\n<p>(\u00a0\u00a0 Tablo_Adi, Index_Adi)<\/p>\n<p>SELECT\u00a0 sys.objects.name AS Tablo_Adi,<\/p>\n<p>sys.indexes.name AS Index_Adi<\/p>\n<p>FROM\u00a0\u00a0\u00a0 sys.indexes<\/p>\n<p>JOIN sys.objects ON sys.indexes.object_id = sys.objects.object_id<\/p>\n<p>WHERE\u00a0\u00a0 sys.indexes.type_desc = &#8216;NONCLUSTERED&#8217;<\/p>\n<p>AND sys.objects.type_desc = &#8216;USER_TABLE&#8217; AND sys.objects.type=&#8217;U&#8217;<\/p>\n<p>DECLARE @Max INT<\/p>\n<p>SET @Max = @@ROWCOUNT<\/p>\n<p>SELECT * FROM @ST_Indexes<\/p>\n<p>SELECT @Max as &#8216;DIKKAT:Yukarida Listelenen NonClustered Index silinecektir. Query executed successffully mesajini bekleyin&#8217;<\/p>\n<p>DECLARE @I INT<\/p>\n<p>SET @I = 1<\/p>\n<p>DECLARE @TblName NVARCHAR(255), @IdxName NVARCHAR(255)<\/p>\n<p>DECLARE @SQL NVARCHAR(MAX)<\/p>\n<p>WHILE @I &lt;= @Max<\/p>\n<p>BEGIN<\/p>\n<p>SELECT @TblName = Tablo_Adi, @IdxName = Index_Adi FROM @ST_Indexes WHERE SiraNo = @I<\/p>\n<p>SELECT @SQL = N&#8217;DROP INDEX &#8216; <a href=\"mailto:+@IdxName+' '+'ON'+'\">+@IdxName+&#8217; &#8216;+&#8217;ON&#8217;+&#8217;<\/a>\u00a0<a href=\"mailto:'+@TblName +\">&#8216;+@TblName +<\/a> &#8216; &#8216;+&#8217;WITH (ONLINE=OFF );&#8217;<\/p>\n<p>EXEC sp_sqlexec @SQL<\/p>\n<p>SET @I = @I + 1<\/p>\n<p>END<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/p>\n<p><strong>4 &#8211; A\u015fa\u011f\u0131daki sorgu Query Analizer\u2019a kopyalan\u0131p Clustered \u0130ndexler Silinmelidir.<\/strong><\/p>\n<p>Not:\u00a0 Query Analizer\u2019da Do\u011fru database se\u00e7ildi\u011finden emin olun.<\/p>\n<p>declare @ST_Indexes table<\/p>\n<p>(\u00a0\u00a0\u00a0 SiraNo\u00a0 int identity(1,1) primary key clustered,<\/p>\n<p>Tablo_Adi nvarchar(255),<\/p>\n<p>Index_Adi nvarchar(255))<\/p>\n<p>INSERT INTO @ST_Indexes<\/p>\n<p>(\u00a0\u00a0 Tablo_Adi, Index_Adi)<\/p>\n<p>SELECT\u00a0 OBJ.name AS Tablo_Adi,<\/p>\n<p>INX.name AS Index_Adi<\/p>\n<p>FROM\u00a0\u00a0\u00a0 sys.indexes AS INX<\/p>\n<p>JOIN sys.objects AS OBJ ON INX.object_id = OBJ.object_id<\/p>\n<p>WHERE\u00a0\u00a0 OBJ.type_desc = &#8216;USER_TABLE&#8217;<\/p>\n<p>AND INX.type_desc = &#8216;CLUSTERED&#8217;<\/p>\n<p>DECLARE @Max INT<\/p>\n<p>SET @Max = @@ROWCOUNT<\/p>\n<p>SELECT * FROM @ST_Indexes<\/p>\n<p>SELECT @Max as &#8216;DIKKAT:Yukarida Listelenen Clustered Index silinecektir. Query executed successffully mesajini bekleyin&#8217;<\/p>\n<p>DECLARE @I INT<\/p>\n<p>SET @I = 1<\/p>\n<p>DECLARE @TblName NVARCHAR(255), @IdxName NVARCHAR(255)<\/p>\n<p>DECLARE @SQL NVARCHAR(MAX)<\/p>\n<p>WHILE @I &lt;= @Max<\/p>\n<p>BEGIN<\/p>\n<p>SELECT @TblName = Tablo_Adi, @IdxName = Index_Adi FROM @ST_Indexes WHERE SiraNo = @I<\/p>\n<p>SELECT @SQL = N&#8217;ALTER TABLE &#8216; <a href=\"mailto:+@TblName+' '+'DROP\">+@TblName+&#8217; &#8216;+&#8217;DROP<\/a> CONSTRAINT&#8217;+&#8217; <a href=\"mailto:'+@IdxName\">&#8216;+@IdxName<\/a>;<\/p>\n<p>EXEC sp_sqlexec @SQL<\/p>\n<p>SET @I = @I + 1<\/p>\n<p>END<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/p>\n<p><strong>5 &#8211; A\u015fa\u011f\u0131daki sorgu Query Analizer\u2019a kopyalan\u0131p LV ile ba\u015flayan View tablolar\u0131 silinmelidir.<\/strong><\/p>\n<p>Not:\u00a0 Query Analizer\u2019da Do\u011fru database se\u00e7ildi\u011finden emin olun.<\/p>\n<p>DECLARE @ST_LVDROP sysname<\/p>\n<p>DECLARE ST_DROP_LVTBL_CUR INSENSITIVE CURSOR FOR<\/p>\n<p>SELECT NAME FROM sysobjects WHERE name LIKE &#8216;LV_&#8217;+&#8217;%&#8217; AND XTYPE=&#8217;V&#8217;<\/p>\n<p>OPEN ST_DROP_LVTBL_CUR<\/p>\n<p>WHILE 1 = 1<\/p>\n<p>BEGIN<\/p>\n<p>FETCH ST_DROP_LVTBL_CUR INTO @ST_LVDROP<\/p>\n<p>IF @@fetch_status NOT IN (&#8216;0&#8217;)<\/p>\n<p>BREAK<\/p>\n<p>EXEC (&#8216;DROP VIEW&#8217; +&#8217; <a href=\"mailto:'+@ST_LVDROP\">&#8216;+@ST_LVDROP<\/a>)<\/p>\n<p>END<\/p>\n<p>DEALLOCATE ST_DROP_LVTBL_CUR<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/p>\n<p><strong>6- A\u015fa\u011f\u0131daki sorgu Query Analizer\u2019a kopyalan\u0131p\u00a0 database collation nameleri\u00a0 <em>SQL_Latin1_General_CP1254_CI_AS<\/em> olarak g\u00fcncellenir.<\/strong><\/p>\n<p>Not:\u00a0\u00a0\u00a0 Query Analizer\u2019da Do\u011fru database se\u00e7ildi\u011finden emin olun.<\/p>\n<p>Sorguda ge\u00e7en Dbname alan\u0131na database ismi yaz\u0131lmal\u0131 ve 3 sorgu birlikte \u00e7al\u0131\u015ft\u0131r\u0131lmal\u0131d\u0131r.<\/p>\n<p>ALTER DATABASE Dbname SET SINGLE_USER WITH ROLLBACK IMMEDIATE<\/p>\n<p>&#8211;\/Database single user moda cekilir.<\/p>\n<p>GO<\/p>\n<p>ALTER DATABASE Dbname COLLATE SQL_Latin1_General_CP1254_CI_AS<\/p>\n<p>&#8211;\/Database collation name degisikligi yapilir.<\/p>\n<p>GO<\/p>\n<p>ALTER DATABASE Dbname SET MULTI_USER<\/p>\n<p>&#8211;\/Database single user moddan cikarilir.<\/p>\n<p>&nbsp;<\/p>\n<p>Not: G\u00fcncel versiyonlarda fonksiyonlar ile ilgili hata al\u0131nmas\u0131 durumda, a\u015fa\u011f\u0131daki sorgu ayr\u0131ca \u00e7al\u0131\u015ft\u0131r\u0131lmal\u0131d\u0131r;<\/p>\n<p>&nbsp;<\/p>\n<p>DECLARE @BKPDROP sysname<br \/>\nDECLARE DROP_BKPTBL_CUR INSENSITIVE CURSOR FOR<br \/>\nSELECT NAME FROM SYSOBJECTS WHERE NAME LIKE &#8216;%GET%COEF%&#8217; AND XTYPE=&#8217;FN&#8217; AND NAME LIKE &#8216;%002%&#8217;<br \/>\nOPEN DROP_BKPTBL_CUR<br \/>\nWHILE 1 = 1<br \/>\nBEGIN<br \/>\nFETCH DROP_BKPTBL_CUR INTO @BKPDROP<br \/>\nIF @@fetch_status 0<br \/>\nBREAK<br \/>\nEXEC (&#8216;DROP FUNCTION&#8217; +&#8217; &#8216;<a href=\"mailto:+@BKPDROP\">+@BKPDROP<\/a>)<br \/>\nEND<br \/>\nDEALLOCATE DROP_BKPTBL_CUR<\/p>\n<p>&#8212; NOT:\u00a0 %002%\u00a0 &#8212; Alan\u0131na firma numaras\u0131 yaz\u0131lmal\u0131.<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/p>\n<p><strong>7-\u00a0Collatin name de\u011fi\u015fikli\u011fi i\u015fleminin yap\u0131labilmesi i\u00e7in Collation name de\u011fi\u015fikli\u011fi \u00f6ncesi database&#8217;deki istatisliklerin silinmesi gerekmektedir.\u00a0<\/strong><\/p>\n<p>A\u015fa\u011f\u0131daki sorgu Query Analizer\u2019a kopyalan\u0131p database ismi de\u011fi\u015ftirildikten sonra \u00e7al\u0131\u015ft\u0131r\u0131lmal\u0131d\u0131r.<\/p>\n<p>&#8212; DATABASE&#8217;DEK\u0130 \u0130STAT\u0130SL\u0130KLER\u0130N S\u0130L\u0130NMES\u0130 &#8212;<\/p>\n<p>Declare @TableName nvarchar(250)<br \/>\nDeclare @StatsName nvarchar(250)<br \/>\nDeclare @TheSQL nvarchar(512)<br \/>\nDeclare @DBName nvarchar(200)<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\nSet @DBName =&#8217;LOGODB&#8217; &#8211;LOGODB alan\u0131na kendi database isminizi yaz\u0131n&#8230;<\/p>\n<p>&#8212; \u0130statisliklerin False duruma getirilmesi &#8212;-<\/p>\n<p>exec(&#8216;ALTER DATABASE [&#8216;<a href=\"mailto:+@DBName+'\">+@DBName+&#8217;<\/a>;] SET AUTO_CLOSE OFF WITH NO_WAIT&#8217;)<br \/>\nexec(&#8216;ALTER DATABASE [&#8216;<a href=\"mailto:+@DBName+'\">+@DBName+&#8217;<\/a>;] SET AUTO_CREATE_STATISTICS OFF WITH NO_WAIT&#8217;)<br \/>\nexec(&#8216;ALTER DATABASE [&#8216;<a href=\"mailto:+@DBName+'\">+@DBName+&#8217;<\/a>;] SET AUTO_SHRINK OFF WITH NO_WAIT&#8217;)<br \/>\nexec(&#8216;ALTER DATABASE [&#8216;<a href=\"mailto:+@DBName+'\">+@DBName+&#8217;<\/a>;] SET AUTO_UPDATE_STATISTICS OFF WITH NO_WAIT&#8217;)<\/p>\n<p>&#8212;- \u0130statisliklerin silinmesi &#8212;-<br \/>\nDeclare Get_Tables CURSOR FAST_FORWARD FOR<br \/>\n(Select Object_name(object_id) as &#8216;Table Name&#8217;,name as &#8216;Stats Name&#8217;<br \/>\nFrom sys.stats SS<br \/>\nWhere (IndexProperty(object_id, name, &#8216;IsAutoStatistics&#8217;) = 1 and object_id &gt;255 or user_created = 1) and not<br \/>\n(Select TOP 1 name FROM sys.objects where type_desc= &#8216;INTERNAL_TABLE&#8217; and object_id = SS.object_id) is null)<\/p>\n<p>Open Get_Tables<br \/>\nFETCH NEXT FROM Get_Tables INTO @TableName,@StatsName<br \/>\nWHILE @@FETCH_STATUS = 0<br \/>\nBEGIN<br \/>\nset @TheSQL = &#8216;DROP STATISTICS &#8216; + QUOTENAME(@TableName) + &#8216;.&#8217;+ QUOTENAME(@StatsName)<br \/>\nexec (@TheSQL)<br \/>\nFETCH NEXT FROM Get_Tables INTO @TableName,@StatsName<br \/>\nEND<\/p>\n<p>Close Get_Tables<br \/>\nDEALLOCATE Get_Tables<\/p>\n<p>&nbsp;<\/p>\n<p><strong>8- A\u015fa\u011f\u0131daki sorgu Query Analizer\u2019a kopyalan\u0131p\u00a0 tablo ve kolonlar\u0131n collation\u00a0 nameleri\u00a0 <em>SQL_Latin1_General_CP1254_CI_AS<\/em> olarak g\u00fcncellenir.<\/strong><\/p>\n<p>Not:\u00a0 Query Analizer\u2019da Do\u011fru database se\u00e7ildi\u011finden emin olun.<\/p>\n<p>declare @ST_ColDeg table<\/p>\n<p>(\u00a0 SiraNo\u00a0 int identity(1,1) primary key clustered,<\/p>\n<p>Tablo_Adi varchar(max),<\/p>\n<p>Column_Name varchar(max),<\/p>\n<p>Data_Tipi varchar(max),<\/p>\n<p>Uzunluk varchar(max))<\/p>\n<p>INSERT INTO @ST_ColDeg<\/p>\n<p>(Tablo_Adi,Column_Name,Data_Tipi,Uzunluk)<\/p>\n<p>SELECT<\/p>\n<p>TABLE_NAME AS Tablo_Adi,<\/p>\n<p>COLUMN_NAME AS Column_Name,<\/p>\n<p>DATA_TYPE AS Data_Tipi,<\/p>\n<p>CASE WHEN CHARACTER_MAXIMUM_LENGTH = -1 THEN &#8216;(max)&#8217;<\/p>\n<p>WHEN DATA_TYPE in (&#8216;text&#8217;,&#8217;ntext&#8217;) THEN &#8221;<\/p>\n<p>WHEN CHARACTER_MAXIMUM_LENGTH IS NOT NULL<\/p>\n<p>THEN &#8216;(&#8216;+(CONVERT(VARCHAR,CHARACTER_MAXIMUM_LENGTH)+&#8217;)&#8217; )<\/p>\n<p>ELSE<\/p>\n<p>ISNULL(CONVERT(VARCHAR,CHARACTER_MAXIMUM_LENGTH),&#8217; &#8216;)<\/p>\n<p>END AS Uzunluk<\/p>\n<p>FROM INFORMATION_SCHEMA.COLUMNS<\/p>\n<p>WHERE DATA_TYPE IN (&#8216;varchar&#8217;)<\/p>\n<p>AND TABLE_NAME NOT LIKE (&#8216;LV_%&#8217;)<\/p>\n<p>AND COLLATION_NAME NOT LIKE &#8216;SQL_Latin1_General_CP1254_CI_AS&#8217;<\/p>\n<p>DECLARE @Max INT<\/p>\n<p>SET @Max = @@ROWCOUNT<\/p>\n<p>SELECT * FROM @ST_ColDeg<\/p>\n<p>SELECT @Max as &#8216;DIKKAT! Yukarida listelenen kolonlar i\u00e7in collation name degisikligi yapilacaktir,Query executed successffully mesajini bekleyin&#8217;<\/p>\n<p>DECLARE @I INT<\/p>\n<p>SET @I = 1<\/p>\n<p>DECLARE @TblName varchar(max), @ClmnName varchar(max),@DtTp varchar(max),@Uznlk varchar(max)<\/p>\n<p>DECLARE @SQL NVARCHAR(MAX)<\/p>\n<p>WHILE @I &lt;= @Max<\/p>\n<p>BEGIN<\/p>\n<p>SELECT @TblName= Tablo_Adi,@ClmnName=Column_Name,@DtTp=Data_Tipi,@Uznlk=Uzunluk<\/p>\n<p>FROM @ST_ColDeg WHERE SiraNo =@I<\/p>\n<p>SELECT @SQL = N&#8217;ALTER TABLE <a href=\"mailto:'+@TblName+' ALTER\">&#8216;+@TblName+&#8217; ALTER<\/a> COLUMN&#8217;+&#8217; <a href=\"mailto:'+@ClmnName +\">&#8216;+@ClmnName +<\/a> &#8216; &#8216;+ @<a href=\"mailto:DtTp+''+@Uznlk +'\">DtTp+&#8221;+@Uznlk +&#8217;<\/a> &#8216;<\/p>\n<p>+ &#8216; &#8216;+&#8217;COLLATE&#8217;+&#8217; &#8216;+&#8217;SQL_Latin1_General_CP1254_CI_AS&#8217;+ &#8216; &#8216; +&#8217;NULL&#8217;;<\/p>\n<p>EXEC sp_sqlexec @SQL<\/p>\n<p>SET @I = @I + 1<\/p>\n<p>END<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/p>\n<p><strong>9- A\u015fa\u011f\u0131daki sorgu Query Analizer\u2019a kopyalan\u0131p\u00a0 sistem tablolar\u0131na ait database olu\u015fturulurken eklenen indexler\u00a0 olu\u015fturulur.<\/strong><\/p>\n<p>Not:\u00a0 Query Analizer\u2019da Do\u011fru database se\u00e7ildi\u011finden emin olun.<\/p>\n<p>A\u015fa\u011f\u0131daki\u00a0sorgular sadece firma ba\u011f\u0131ms\u0131z tablolar\u0131n bulundu\u011fu ana database \u00fczerinde collation name de\u011fi\u015fikli\u011fi yap\u0131l\u0131yor ise kullan\u0131lmal\u0131d\u0131r.<\/p>\n<p>Firma database kullan\u0131m\u0131 var ve collation name de\u011fi\u015fikli\u011fi bu database \u00fczerinde yap\u0131l\u0131yor ise\u00a0bir sonraki i\u015flem ad\u0131m\u0131na ge\u00e7i\u015f yap\u0131lmal\u0131d\u0131r.<\/p>\n<p>ALTER TABLE [dbo].[L_CAPISIGN] ADD\u00a0 CONSTRAINT [CAPISIGN_I1] PRIMARY KEY CLUSTERED<\/p>\n<p>([LOGICALREF] ASC)WITH<\/p>\n<p>(PAD_INDEX\u00a0 = OFF, STATISTICS_NORECOMPUTE\u00a0 = OFF, SORT_IN_TEMPDB = OFF,<\/p>\n<p>IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS\u00a0 = ON, ALLOW_PAGE_LOCKS\u00a0 = ON) ON [PRIMARY]<\/p>\n<p>&#8212;<\/p>\n<p>CREATE UNIQUE NONCLUSTERED INDEX [CDBTMP_I1] ON [dbo].[L_CDBTMP]<\/p>\n<p>(\u00a0\u00a0\u00a0\u00a0 [MODULE_] ASC,[INFOTYPE] ASC,[OBJID] ASC,[INSTID] ASC<\/p>\n<p>)WITH (PAD_INDEX\u00a0 = OFF, STATISTICS_NORECOMPUTE\u00a0 = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF,<\/p>\n<p>DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS\u00a0 = ON, ALLOW_PAGE_LOCKS\u00a0 = ON) ON [PRIMARY]<\/p>\n<p>&#8212;<\/p>\n<p>ALTER TABLE [dbo].[L_BRWSSTAT] ADD\u00a0 CONSTRAINT [BRWSSTAT_I1] PRIMARY KEY CLUSTERED<\/p>\n<p>([LOGICALREF] ASC)WITH (PAD_INDEX\u00a0 = OFF, STATISTICS_NORECOMPUTE\u00a0 = OFF,<\/p>\n<p>SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS\u00a0 = ON,<\/p>\n<p>ALLOW_PAGE_LOCKS\u00a0 = ON) ON [PRIMARY]<\/p>\n<p>&#8212;<\/p>\n<p>ALTER TABLE [dbo].[L_CAPITERMINAL] ADD\u00a0 CONSTRAINT [CAPITERMINAL_I1] PRIMARY KEY CLUSTERED<\/p>\n<p>([LOGICALREF] ASC)WITH (PAD_INDEX\u00a0 = OFF, STATISTICS_NORECOMPUTE\u00a0 = OFF,<\/p>\n<p>SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS\u00a0 =<\/p>\n<p>ON, ALLOW_PAGE_LOCKS\u00a0 = ON) ON [PRIMARY]<\/p>\n<p>&#8212;<\/p>\n<p>ALTER TABLE [dbo].[L_CAPIFIRM] ADD\u00a0 CONSTRAINT [CAPIFIRM_I1] PRIMARY KEY CLUSTERED<\/p>\n<p>([LOGICALREF] ASC)WITH (PAD_INDEX\u00a0 = OFF, STATISTICS_NORECOMPUTE\u00a0 = OFF,<\/p>\n<p>SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS\u00a0 = ON, ALLOW_PAGE_LOCKS\u00a0 = ON) ON [PRIMARY]<\/p>\n<p>&#8212;<\/p>\n<p>ALTER TABLE [dbo].[L_CAPIUSER] ADD\u00a0 CONSTRAINT [CAPIUSER_I1] PRIMARY KEY CLUSTERED<\/p>\n<p>([LOGICALREF] ASC )WITH (PAD_INDEX\u00a0 = OFF, STATISTICS_NORECOMPUTE\u00a0 =<\/p>\n<p>OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS\u00a0 =<\/p>\n<p>ON, ALLOW_PAGE_LOCKS\u00a0 = ON) ON [PRIMARY]<\/p>\n<p>&#8212;<\/p>\n<p>ALTER TABLE [dbo].[L_TSCONT] ADD\u00a0 CONSTRAINT [TSCONT_I1] PRIMARY KEY CLUSTERED<\/p>\n<p>([LOGICALREF] ASC)WITH (PAD_INDEX\u00a0 = OFF, STATISTICS_NORECOMPUTE\u00a0 = OFF,<\/p>\n<p>SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS\u00a0 = ON, ALLOW_PAGE_LOCKS\u00a0 = ON) ON [PRIMARY]<\/p>\n<p>&#8212;<\/p>\n<p>ALTER TABLE [dbo].[L_TSPROPS] ADD\u00a0 CONSTRAINT [TSPROPS_I1] PRIMARY KEY CLUSTERED<\/p>\n<p>([LOGICALREF] ASC)WITH (PAD_INDEX\u00a0 = OFF, STATISTICS_NORECOMPUTE\u00a0 = OFF, SORT_IN_TEMPDB = OFF,<\/p>\n<p>IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS\u00a0 = ON, ALLOW_PAGE_LOCKS\u00a0 = ON) ON [PRIMARY]<\/p>\n<p>&#8212;<\/p>\n<p>ALTER TABLE [dbo].[L_USERCOM] ADD\u00a0 CONSTRAINT [USERCOM_I1] PRIMARY KEY CLUSTERED<\/p>\n<p>([LOGICALREF] ASC)WITH (PAD_INDEX\u00a0 = OFF, STATISTICS_NORECOMPUTE\u00a0 = OFF,<\/p>\n<p>SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS\u00a0 = ON, ALLOW_PAGE_LOCKS\u00a0 = ON) ON [PRIMARY]<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/p>\n<p><strong>10-\u00a0 A\u015fa\u011f\u0131daki sorguyu \u00e7al\u0131\u015ft\u0131rarak collation name bilgisi hatal\u0131 olan kay\u0131t varm\u0131 tekrar kontrol edilebilir.<\/strong><\/p>\n<p>Not:\u00a0 Query Analizer\u2019da Do\u011fru database se\u00e7ildi\u011finden emin olun.<\/p>\n<p>SELECT * FROM<\/p>\n<p>INFORMATION_SCHEMA.COLUMNS<\/p>\n<p>WHERE DATA_TYPE IN (&#8216;varchar&#8217;)<\/p>\n<p>AND COLLATION_NAME NOT LIKE &#8216;SQL_Latin1_General_CP1254_CI_AS&#8217;<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/p>\n<p><strong>11- A\u015fa\u011f\u0131daki sorgu Query Analizer\u2019a kopyalan\u0131p L_CAPISIGN tablosundaki VERS alan\u0131 g\u00fcncellenmeli.<\/strong><\/p>\n<p>Not:\u00a0 Query Analizer\u2019da Do\u011fru database se\u00e7ildi\u011finden emin olun.<\/p>\n<p>UPDATE L_CAPISIGN SET VERS=1<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/p>\n<p><strong>12- \u00a0A\u015fa\u011f\u0131ki ekran g\u00f6r\u00fcnt\u00fcs\u00fcnde oldu\u011fu gibi SYS\u2019ye giri\u015f yaparak Y\u00f6netim\\Genel Tablo Y\u00f6netimi alt\u0131kdaki se\u00e7enekler in hepsi i\u00e7in g\u00fcncellenme yap\u0131lmal\u0131d\u0131r.<\/strong><\/p>\n<table border=\"0\">\n<tbody>\n<tr>\n<td><img decoding=\"async\" src=\"http:\/\/support.logo.com.tr\/images\/Documents\/NDS\/resim3.png\" alt=\"http:\/\/support.logo.com.tr\/images\/Documents\/NDS\/resim3.png\" \/><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/p>\n<p><strong>13-\u00a0 SYS\u2019yede Y\u00f6netim\\Firmalar b\u00f6l\u00fcm\u00fcnde her firma i\u00e7in;<\/strong><\/p>\n<p>Tablolar\u0131 s\u00fcr\u00fcme g\u00f6re g\u00fcncelleme ve Uyarlama tablolar\u0131n\u0131 g\u00fcncelleme i\u015flemi yap\u0131lmal\u0131d\u0131r.<\/p>\n<p>Not:Go,GoPlus setlerinde uyarlama se\u00e7ene\u011fi olmad\u0131\u011f\u0131 i\u00e7in uyarlama g\u00fcncellemesine gerek bulunmamaktad\u0131r.<\/p>\n<table border=\"0\">\n<tbody>\n<tr>\n<td><img decoding=\"async\" src=\"http:\/\/support.logo.com.tr\/images\/Documents\/NDS\/resim4.png\" alt=\"http:\/\/support.logo.com.tr\/images\/Documents\/NDS\/resim4.png\" \/><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/p>\n<p><strong>\u00a014-\u00a0 SYS\u2019yede Y\u00f6netim\\Firmalar b\u00f6l\u00fcm\u00fcnde, Her firma alt\u0131ndaki d\u00f6nemler i\u00e7in Veritaban\u0131 Ara\u00e7lar\u0131n\u0131 Olu\u015ftur ve Uyarlama Tablolar\u0131n\u0131 G\u00fcncelleme yap\u0131lmal\u0131d\u0131r.<\/strong><\/p>\n<p>Not:Go,GoPlus setlerinde uyarlama se\u00e7ene\u011fi olmad\u0131\u011f\u0131 i\u00e7in uyarlama g\u00fcncellemesine gerek bulunmamaktad\u0131r.<\/p>\n<table border=\"0\">\n<tbody>\n<tr>\n<td><img decoding=\"async\" src=\"http:\/\/support.logo.com.tr\/images\/Documents\/NDS\/resim5.png\" alt=\"images\/Documents\/NDS\/resim5.png\" \/><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/p>\n<p><strong>\u00a015-\u00a0 SYS\u2019de gerekli g\u00fcncellemeler yap\u0131ld\u0131ktan sonra a\u015fa\u011f\u0131daki sorgu Query Analizer\u2019a kopyalan\u0131p Database alt\u0131ndaki Indexlerin tekrar g\u00fcncellenmesi sa\u011flanabilir.<\/strong><\/p>\n<p>Not:\u00a0 Bu i\u015flem \u00f6ncesinte Tekrar database yede\u011fi al\u0131n ve Sorgu \u00e7al\u0131\u015ft\u0131r\u0131lmadan \u00f6nce Do\u011fru database se\u00e7ildi\u011finden emin olun. (Bu i\u015flem uzun s\u00fcrebilir.)<\/p>\n<p>EXEC sp_MSforeachtable @command1=&#8221;print &#8216;?&#8217; DBCC DBREINDEX (&#8216;?&#8217;)&#8221;<\/p>\n<p>B\u00fct\u00fcn bu i\u015flemler sonras\u0131nda database collation name de\u011fi\u015fikli\u011fi tamamlanm\u0131\u015f olacakt\u0131r ve art\u0131k programa giri\u015f yapabirsiniz.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Bu\u00a0makalede veritaban\u0131n\u0131n collation name bilgisi nas\u0131l de\u011fi\u015ftirilece\u011fini anlat\u0131yor olaca\u011f\u0131z. Bu i\u015fleme ba\u015flamadan \u00f6nce collation nedir sorusunun cevab\u0131n\u0131 verelim. Collation, SQL Server da character set anlam\u0131na gelmektedir. E\u015fitliklerde, order i\u015fleminde, b\u00fcy\u00fck k\u00fc\u00e7\u00fck harf ayr\u0131m\u0131nda karakterlerin hangi mant\u0131kta kullan\u0131laca\u011f\u0131n\u0131 belirler. Genelde T\u00fcrk\u00e7e database lerde kullan\u0131lan Turkish_CI_AS yada SQL_Latin1_General_CP1254_CI_AS collation \u0131nda ki CI ifadesi Case Insensitive(B\u00fcy\u00fck k\u00fc\u00e7\u00fck harf [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,10],"tags":[],"class_list":["post-1545","post","type-post","status-publish","format-standard","hentry","category-logo-genel-destek","category-sql-server-tsql"],"_links":{"self":[{"href":"https:\/\/www.ozgurguler.net\/blog\/wp-json\/wp\/v2\/posts\/1545","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ozgurguler.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ozgurguler.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ozgurguler.net\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ozgurguler.net\/blog\/wp-json\/wp\/v2\/comments?post=1545"}],"version-history":[{"count":1,"href":"https:\/\/www.ozgurguler.net\/blog\/wp-json\/wp\/v2\/posts\/1545\/revisions"}],"predecessor-version":[{"id":1546,"href":"https:\/\/www.ozgurguler.net\/blog\/wp-json\/wp\/v2\/posts\/1545\/revisions\/1546"}],"wp:attachment":[{"href":"https:\/\/www.ozgurguler.net\/blog\/wp-json\/wp\/v2\/media?parent=1545"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ozgurguler.net\/blog\/wp-json\/wp\/v2\/categories?post=1545"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ozgurguler.net\/blog\/wp-json\/wp\/v2\/tags?post=1545"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}