红色多瑙河 发表于 2016-11-2 04:05:07

SQL Server 2005 同义词Bug

<script>function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</script>  今天发现了SQL2005的一个Bug,在建立同义词链接Oracle的时候,使用下面的语句:
  
CREATESYNONYM[dbo].mis_vendorFOR[TEST]..[MIS].MIS_VENDOR

  
  这样建立好了同义词,然后刷新同义词,可以看到我们的同义词在ManegementStudio中了。这个时候查看他的属性可以看到架构变成了.MIS,这个明显不对,我们使用“编写同义词脚本”->“Create到”->“新查询编辑器窗口”可以看到他生成的代码为:
CREATESYNONYM[dbo].[mis_vendor]FOR[TEST].[.MIS].[MIS_VENDOR]

  相信大家都看出来了,他的确将MIS这个架构改成了.MIS 架构,方括号位置不对了!
  如果我们再用“编写同义词脚本”生成的语句来写同义词就会出错。所以建议大家以后写同义词最好使用SQL语句,不能太相信MangementStudio生成的代码。
页: [1]
查看完整版本: SQL Server 2005 同义词Bug