技术开发 频道

巧用连接请求和调查SQL Server的提高

  【IT168 技术文档】关于切换数据库名称的简单方式的问题,直接的答案是,这是不存在的。为SQL Server的一个实例定义一个别名是可以的,但是无济于事。为另一个数据库中的单独对象定义同义词名也是可以的。只是目前没有一种方法可以定义别名比如提供非直接参照的对象到一个数据库中或者一个模式中。

  我能为同事提供的非常好的解决方案是在具有存储过程的数据库中会每张表和每个视图创建同义词,这些表和视图是存储过程可能会在数据库中参照的。接着,当代码投入生产时,写一个脚本来修改所有同义词以便使用正确的数据库名。创建同义词在技巧“在SQL Server 2005中使用同义词的优劣”中有描述。另一种解决方法是使用动态SQL写所有的查询并把目标数据库的名称存储在一个设置表中或者把它作为一个参数传递。动态SQL把你的代码暴露,这可能会导致SQL 注入攻击的发生,因此这应该被当作最后一种选择。

  十年前,我有一个关于SQL Server 改进功能的建议。当时我能找到的交流建议的唯一途径是一个带有所有微软产品建议的邮件地址。我发送了自己的建议但是没有任何回音。我的邮件没有得到任何肯定,也没有电话,在网站上没有交流建议的地址,最后也没有回复通知我微软打算如何处理我提出的建议。这不是很令人满意,因此我从那以后再也不那么做了。

  我把漏洞报告给产品服务(PSS)的经历却是非常不同的。2005年的时候,我在Visual Basic编辑器中遇到一个漏洞。我和我的客户确定把这个问题告诉产品服务是非常重要的,也有必要让他们提出一种解决方案。PSS确认这确实是编辑其中的一个漏洞,也没有收费。更重要的是,他们解决了这个问题并且在3个月内为我们提供了一个修补程序,这个程序最后成了Visual Studio的一个服务程序包。

  随意报告问题和不用为权限付费的情形在过去几年改变了。现在有一个网站Connect.Microsoft.com提供了微软和个人以及团体开发人员之间的双向沟通。Connect.Microsoft.com/SQLServer致力于开发我们最满意的产品。它有链接到新的服务程序包和试用版本,也有链接到SQL Server的论坛,以及我最感兴趣的Submit_Product_Feedback链接。

  连接允许你查找产品反馈,看看是否有人提供你感兴趣的建议。你可以不仅仅是寻求建议。你可以提出自己的意见,查看建议的状态并且为别人的建议评价其重要性。做任何超越查找的事情,你需要有一个Windows Live ID并且在该网站上填写个人资料。

  要解决我同事的问题,我首先在论坛“数据库同义词”上查找一个类似的问题。有7个可能性,结果显示如下:


图一

0
相关文章