在SQL Server 2005中使用synonyms的优缺点

2016-02-19 19:17 8 1 收藏

今天图老师小编给大家介绍下在SQL Server 2005中使用synonyms的优缺点,平时喜欢在SQL Server 2005中使用synonyms的优缺点的朋友赶紧收藏起来吧!记得点赞哦~

【 tulaoshi.com - 编程语言 】

  问题提出

  在我的新工作中,我面临着一个问题,在product数据库中把创建的表进行归档,因为随着数据库的增长,现在需要把它们移走。同时,这些归档的表被几项工作使用,而且它还在应用程序的代码中被调用。这样移动它们就是一个非常复杂的过程。我希望能找到一种方法,尽可能减轻开发人员必须得完成的工作量,因为他们的时间非常有限。请问在有限时间内按要求把表进行归档的最优方法?

  专家解答

  在SQL Server 2005中有一个特性,能解决这一问题,并且能提供进一步地优化和工具设备, 这个特征就是SQL Server 2005中的同义词(SYNONYMs)。同义词(SYNONYM)是SQL Server 2005中新特性。它是一种在已有的或潜在的新对象中给予的别名。它只是一个指针或者参数,所以它不被当作是一个对象。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  为了创造一个同义词(SYNONYM),您需要有创造同义词(SYNONYM)的权限。 如果您是系统管理员或db_owner,那么您将拥有这些权限并且可以授予这个权限给其他用户。此外,如果你需要创建一个跨越数据库的同义词,那么需要另一数据库的权限。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  下面是一个例子,用来在一个数据库中创建同义词(SYNONYM),而在数据库中引用另一个对象: 

   USEAdventureWorks
  GO
  CREATESYNONYMMySynFORProduction.Location
  GO

  要检查这些工作,您可以在SYNONYM的使用过程中使用下面的查询语句: 

   SELECT*FromMySyn

  下面这又是一个的例子,它是在一个数据库中创建同义词(SYNONYM),而在另外一个数据库中引用这个对象: 

   USEmaster
  GO
  CREATESYNONYMdbo.MySynFORAdventureWorks.Production.Location
  GO

  为了获得同义词(SYNONYMs)中所有变化的数据,可以使用下面的命令: 

   SELECT*FROMsysobjects
  WHERExtype='SN'
  ORDERBYNAME

  删除同义词(SYNONYM)可以使用下面的命令:  

   USEAdventureWorks;
  GO
  DROPSYNONYMMySyn
  GO

  同义词(SYNONYM)非常有用,它可以创造以下这些:

  表

  视图

  汇编的存储过程,表值函数,族聚

  SQL标量函数

  SQL存储过程

  SQL表值函数

  内嵌的SQL表值函数

  本地和全局的临时表

  复制筛选过程

  扩展存储过程

  优点

来源:http://www.tulaoshi.com/n/20160219/1620600.html

延伸阅读
SQL Server有很多很好用的小功能,但是有时候这些功能反过来给你制造麻烦。其中一个这样的问题是别名用户的使用。本技巧教你如何在数据库中建立别名用户时找到安全漏洞,不过在SQL Server 2008种不推荐这个功能。 首先,你可以对每个数据库运行下面的简单查询或者针对所有数据库操作它来运行以便找到带有“dbo”访问权限的用户。 ...
标签: SQLServer
  在 SQL Server 2005 中查询表结构及索引 -- 1. 表结构信息查询 -- =================================================== -- 表结构信息查询 -- 邹建 2005.08(引用请保留此信息) -- ==================================================== SELECT     TableName=CASE WHEN C.column_id=1 THEN O.name ELSE N'' END, ...
相比SQL Server 2000提供的FOR XML查询,SQL Server 2005版本对现有功能增强的基础上增加了不少新功能,最为吸引人的功能包括对Xml数据类型支持、使用PATH模式以及嵌套FOR XML查询支持等,这意味着通过新的FOR XML查询功能可以构造出结构更加灵活的Xml数据。 在SQL Server 2000中FOR XML查询的结果是直接以文本方式返回到客户端,为支...
老南瓜一直对SQL Server 2005里的用户的概念不是很清楚,如果你和我当初一样,认为下面的两个用户是一个概念,那就有必要点上一根烟,喝上一品茶,细细品味一下这之间的不同了。 左边的图标出了一个可以访问AdventureWorks数据库的用户,而右边的图则标出了整个数据库服务器所有的“用户”。 大家知道,SQL Server 2005有两种...
1:使用分区表来提高数据库性能 以前的处理大数据量时很多人会采取使用多个结构相同的表按时间段来分,不同时间的数据存在不同的数据表里,这样如果只查询一个表的数据就很快,如果需要跨表查询则再通过连接视图将这些表连起来伪装成一个表的样子,这样可以提高查询效率,但牺牲了程序设计的优雅性和数据库设计的简单性,特别是在处理...

经验教程

332

收藏

62
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部