在PowerDesigner中,對SQL Server 2000進行數據庫反向(Database -> Reverse Engineer Database)時,會反向出一些名稱以“_WA_Sys”開頭的索引,但這些索引并不是我們做數據庫設計的時加的,如何去掉這些不必要的索引呢,請按如下步驟進行:
1、在PowerDesigner中點擊Tools-Resources-DBMS,打開“List of DBMS”窗口
2、選擇Microsoft SQL Server 2000,再點擊窗口上的第一個按鈕“Property”
3、從左側樹菜單中展開Script -> Objects -> Index,點擊SqlListQuery,在右面的Memo編輯框里看到如下SQL語句:
{OWNER?ID,?
TABLE
?ID,?
INDEX
?ID,?CLUSTER?ID,?
UNIQUE
?ID,?CIDXLIST?...}
select
???u.name,
???o.name,
???i.name,
???
case
(i.status?
&
?
16
)?
when
?
16
?
then
?
'
clustered
'
?
else
?
''
?
end
,
???
case
(i.status?
&
??
2
)?
when
??
2
?
then
?
'
unique
'
????
else
?
''
?
end
,
???
case
(k.keyno)?
when
?
1
?
then
?
''
?
else
?
'
,?
'
?
end
?
+
?c.name?
+
?
case
?(Indexkey_Property(k.id,?
k.indid,?k.keyno,?
'
IsDescending
'
))?
when
?
1
?
then
?
'
?desc
'
?
else
?
'
?asc
'
?
end
from
???sysusers?u
??????
join
?sysobjects?o?
on
?(o.uid?
=
?u.uid)
??????
join
?sysindexes?i?
on
?(i.id?
=
?o.id)
??????
join
?sysindexkeys?k?
on
?(k.id?
=
?i.id?
and
?k.indid?
=
?i.indid)
??????
join
?syscolumns?c?
on
?(c.id?
=
?k.id?
and
?c.colid?
=
?k.colid)
where
?i.indid?
between
?
1
?
and
?
254
[
??and?o.name?=?%.q:TABLE%
]
[
??and?u.name?=?%.q:SCHEMA%
]
order
?
by
???
1
,?
2
,?
3
,?k.keyno
4、在where i.indid between 1 and 254的下方加一句:
??
and i.name not like '%_WA_Sys%'
--用于過濾SQL Server自動創建的索引
5、保存即可
?
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1862721
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

