سؤال

السلام عليكم


 


لدى قاعده بيانات بها ما يقرب من 30 Index


هل يوجد طريقه اخذ بها Script لجميع الـ Index


(script index فقط )


للعمل على تنفيذها فى قاعده بيانات اخرى ؟؟


تم تعديل بواسطه تيجر 2000
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

7 إجابة على هذا السؤال .

  • 0
  • 0

شكرا لك اخ كريم بارك الله لك


ولكنى اريد script index فقط


وليس جميع مكونات الجدول


بمعنى اذا كان الجدول الاول به 7 فهارس يكون الـ script خاص بهم فقط


والجدول الثانى 3 فهارس يكون الـ script خاص بهم وهكذا ولا اريد مع  الـ script اى Object اخرى


 


465039313.jpg


0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الاخ العزيز

 

يمكنك ان تقوم بانشاء تقرير تفصيلى عن الاندكس فى قاعدة بياناتك بالطريقة التالية

 

نقوم بفتح  SQL Server Management Studio 

Right Click On DataBase Name ------ > Reports  ------ > Index Physical

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم و حمة الله

 

يمكن ذلك عن طريق ال Management Studio كما توضح الصورة.

 

بالتوفيق

post-35322-0-10922300-1409646765_thumb.p

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم


 


الاخ بلاك تيجر شكرا لك ولكنى اريد كود الانشاء وليس بيان بما هو موجود من فهارس


 


اخى imadouzoun  انا اريد طريقه لانشاء جميع الفهارس مره واحده وليس فهرس فهرس (ان امكن)



 
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اتفضل يا غالى

 

SELECT ' CREATE ' +
CASE WHEN I.is_unique = 1 THEN ' UNIQUE ' ELSE '' END +
I.type_desc COLLATE DATABASE_DEFAULT +' INDEX ' +
'+T.name + ' ( ' + K
I.name + ' ON ' +
Schema_name(T.Schema_id)+'
.eyColumns + ' ) ' +
ISNULL(' INCLUDE ('+IncludedColumns+' ) ','') +
.is_padded = 1 THEN ' PAD_INDEX = ON ' ELSE ' PAD_INDEX = OFF
ISNULL(' WHERE '+I.Filter_definition,'') + ' WITH ( ' +
CASE WHEN
I' END + ',' +
'FILLFACTOR = '+CONVERT(CHAR(5),CASE WHEN I.Fill_factor = 0 THEN 100 ELSE I.Fill_factor END) + ',' +
ELSE ' IGNORE_DUP_KEY
-- default value
'SORT_IN_TEMPDB = OFF ' + ',' +
CASE WHEN I.ignore_dup_key = 1 THEN ' IGNORE_DUP_KEY = ON
' = OFF ' END + ',' +
CASE WHEN ST.no_recompute = 0 THEN ' STATISTICS_NORECOMPUTE = OFF ' ELSE ' STATISTICS_NORECOMPUTE = ON ' END + ',' +
s = 1 THEN ' ALLOW_ROW_
-- default value
' DROP_EXISTING = ON ' + ',' +

-- default value

',' + CASE WHEN I.allow_ro

' ONLINE = OFF ' +

w_loc
kLOCKS = ON ' ELSE ' ALLOW_ROW_LOCKS = OFF ' END + ',' +
= ON ' ELSE ' ALLOW_PAGE_LOCKS = OFF ' END + ' ) ON [' + DS.name + ' ] ' [CreateIndexScript] FROM sys.indexes
CASE WHEN I.allow_page_locks = 1 THEN ' ALLOW_PAGE_LOCKS
I
JOIN sys.tables T ON T.Object_id = I.Object_id
JOIN sys.sysindexes SI ON I.Object_id = SI.id AND I.index_id = SI.indid

JOIN (SELECT * FROM (

' END FROM sys.index_columns IC1

 

SELECT IC2.object_id , IC2.index_id , STUFF((SELECT ' , ' + C.name + CASE WHEN MAX(CONVERT(INT,IC1.is_descending_key)) = 1 THEN ' DESC ' ELSE ' ASC
JOIN Sys.columns C ON C.object_id = IC1.object_id AND C.column_id = IC1.column_id AND IC1.is_included_column = 0 WHERE IC1.object_id = IC2.object_id
_columns IC2 --WHERE IC2.Object_id

 

AND IC1.index_id = IC2.index_id GROUP BY IC1.object_id,C.name,index_id ORDER BY MAX(IC1.key_ordinal) FOR XML PATH('')), 1, 2, '') KeyColumns FROM sys.inde
x = object_id('Person.Address') --Comment for all tables GROUP BY IC2.object_id ,IC2.index_id) tmp3 )tmp4 ON I.object_id = tmp4.object_id AND I.Index_id = tmp4.index_id
e_id=FG.data_space_id LEFT JOIN (SELECT * FROM ( SELECT IC2.object_i

 

JOIN sys.stats ST ON ST.object_id = I.object_id AND ST.stats_id = I.index_id JOIN sys.data_spaces DS ON I.data_space_id=DS.data_space_id JOIN sys.filegroups FG ON I.data_spa
cd , IC2.index_id , STUFF((SELECT ' , ' + C.name FROM sys.index_columns IC1 JOIN Sys.columns C ON C.object_id = IC1.object_id AND C.column_id = IC1.column_id AND IC1.is_included_column = 1
object_id('Person.Address') --Comment for al

 

WHERE IC1.object_id = IC2.object_id AND IC1.index_id = IC2.index_id GROUP BY IC1.object_id,C.name,index_id FOR XML PATH('')), 1, 2, '') IncludedColumns FROM sys.index_columns IC2 --WHERE IC2.Object_id =
l tables GROUP BY IC2.object_id ,IC2.index_id) tmp1 WHERE IncludedColumns IS NOT NULL ) tmp2 ON tmp2.object_id = I.object_id AND tmp2.index_id = I.index_id WHERE I.is_primary_key = 0 AND I.is_unique_constraint = 0
 

--AND I.Object_id = object_id('Person.Address') --Comment for all tables

 

--AND I.name = 'IX_Address_PostalCode' --comment for all indexes

 
تم تعديل بواسطه Black_Tiger_2007
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

ايه الكود ده يا باشا


مش فاهم حاجه


0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .