Tsql 是否可以创建永久对象别名

Tsql 是否可以创建永久对象别名,tsql,sql-server-2008-r2,ssms,Tsql,Sql Server 2008 R2,Ssms,我最近发现自己在一个开发项目中使用了一些相当长的表和视图名称,这让我想知道是否有可能为对象创建客户机/数据库/服务器级别名 例如,假设我有一个名为dbo.valphabetagamamdalta的视图。有没有一种方法(带或不带Intellisense)创建对它的引用,名为dbo.vABGD 如果不是,那么在表模式更改时,除了必要的维护之外,创建视图或单个表的视图是否会有任何缺点 我应该注意到,这些别名/视图不会用于其他对象,而是用于减轻和预防日常故障排除期间的腕管问题,并且挖掘xDSQL Ser

我最近发现自己在一个开发项目中使用了一些相当长的表和视图名称,这让我想知道是否有可能为对象创建客户机/数据库/服务器级别名

例如,假设我有一个名为dbo.valphabetagamamdalta的视图。有没有一种方法(带或不带Intellisense)创建对它的引用,名为dbo.vABGD

如果不是,那么在表模式更改时,除了必要的维护之外,创建视图或单个表的视图是否会有任何缺点


我应该注意到,这些别名/视图不会用于其他对象,而是用于减轻和预防日常故障排除期间的腕管问题,并且挖掘xD

SQL Server允许创建同义词。这似乎就是你要找的:


然而,正如@MitchWheat所提到的。这似乎走错了方向。有一些非常好的SSMS插件可以自动完成长对象名(例如SQL提示符)。顺便说一句,这些产品在同义词方面有问题…

在许多情况下,您希望使用同义词。 让我先说一个: 您有一个定义良好的假设表名:GlobalStatisticalRecord。SQL和其他地方有数百行代码和对象(键、索引等)引用此表名。 经过5年的使用,缩写GSR不仅在技术人员中,而且在商业用户中也很常见。因此,再次强调,GSR现在比GlobalStatisticalRecord更容易识别。但是,对于新加入技术团队的人员来说,保留GlobalStatisticalRecord这个名称作为表名是很好的,因为它很好地描述了表的全部内容。现在,当编写一个快速的临时查询时(这可能不是您所选择的工具以及您所习惯的所有Intellisense功能),这些别名确实节省了您的时间(以及在凌晨2点疯狂尝试诊断生产问题时的“生命”)。 拜托,如果你从来没有遇到过需要这个的情况,那就不要假设没有。
我强调了adhoc形容词,因为我同意在永久查询(存储过程等)中,出于您指出的原因,建议使用完整的表名。

使用描述较少的别名听起来适得其反。安装TSQL完成工具…你是说Intellisense?这是一个别名,我们在谈到表时会提到它,所以它的描述性并不差。再次-只是为了钻研。同义词正是我要找的,谢谢!你的错仅仅是因为它会导致额外的不必要的东西吗?当你用四个部分的名称引用对象时,你的同义词buck会有额外的效果:@ZokWobblefotz:是的,这就是我说的“错”的意思。然而,Pinal提到的抽象层对于同义词来说是一个非常好的用例。对于所有评论这是“错误的方向”的人来说,想象一下你有四十个名为AlphalphahamsimilarNameSimlar的表,或者回想一下,当tab completion因为有这么多类似(长)的名称而无法实现其承诺时。这不是最好的,但我愿意接受好的想法!我再补充一个原因。我必须使用一个不使用专有名称作为表名的数据库。它们被命名为T02或T99。我假设这是为了从可能有权访问表的最终用户那里混淆它们的用途。然而,在编写查询时记住哪些表是哪些表是一场噩梦。输入同义词!