首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SQL SERVER修改函数名引起的问题

问题 今天遇到一个奇怪的问题:使用sp_helptext XXX查询出来的函数定义名竟然跟函数名不同,而sp_helptext实际是查询sys.all_sql_modules这个系统视图的。...第二个问题,我想没什么可能,SQL SERVER发展到今天(SQL 2016正式版准备推出,我使用的环境则是SQL 2008 R2,打了SP3),已经是很成熟的一个系统,即使是出现BUG也不是我这种水平的人能发现的...我马上就想起这个函数在一个多星期前,因为测试的需要,通过SSMS改了原函数名,而SQL SERVER不会因为改名去更新sys.all_sql_modules视图的definition字段的!...于是就造成了已经编译好的函数与sys.all_sql_modules系统视图的函数定义出现了不一致的情况。 2. 重视与分析问题 做一个测试来重现下问题。...如果通过sp_helptext和sys.all_sql_modules查询出现的定义去更新生产服务器,就肯定会出现问题。 ? 3. 解决与结论 解决方法也很简单,把这个函数重建即可。

1K130
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    SQL Server不区分大小写的问题

    SQL Server不区分大小写的问题   默认情况下,SQL Server不区分大小写,如果数据表TEST的TNAME列中有数据“abcd”和“Abcd”, 如果使用查询语句:select * from... test  where  tname  like 'a%',则查询的结果会把上面的两条记录都查询出来,这一点上和Oracle有区别.  ...可以通过设置排序规使其区分大小写,可以分别在创建数据库、修改数据库、创建表的字符型列(char\varchar\nchar \nvarchar等)时指定排序规则来实现。...   --修改后的数据库中区分大小写 Create table test(tid int primary key,tname varchar(20) COLLATE  Chinese_PRC_CS_AS...) --这样创建的tname列在使用SELECT 语句时就可以区分大小写了。

    3.3K20

    SQL Server 2008 表设计无法保存的问题

    尝试在 SQL Server 2008 中保存表时出现错误消息:"保存的更改不允许的" 解决方法: 启动SQL Server 2008 Management Studio 工具菜单----选项----Designers...但后来想想,sql server 2008在这一点的考虑还是很周到的,不管是什么样的解决方案,底层的数据库结果如果发生变化都会对上层产生影响,上层与底层的不匹配也必然会带来诸多麻烦。...结合进来自己研究的实体框架来说,由数据库产生实体后,它生成了ssdl,msl,csdl,这些文件是不会随着数据库的变化而自动变化的。...一旦数据库在不通知实体生成工具的情况下,做了表结构的更改,那带来的后果必然是导致实体类文件的应用出错。尽管它可能会为开发人员带来数据库字段更改上的麻烦,但却降低了底层与上层结合时发生错误的几率。...所以这样看来,“阻止保存要求重新创建表的更改”这一默认选项的设置还是别有一番深意的。

    1.7K20

    Linq to Sql 更新数据时容易忽略的问题

    越来越多的朋友喜欢用Linq to Sql来进行开发项目了,一般我们都会遇到CRUD等操作,不可否认,在查询方面Linq真的带来很大的便利,性能方面也表现不错,在插入操作和删除操作中,Linq的表现也还不错...,但是在更新某条记录的时候,性能就相对比较弱了,我们一般会使用ExecuteSql等方法来执行脚本。...不过有时候,我们还是会使用Linq to Sql来进行Update,执行的步骤:获取一个记录-〉更新字段 -〉submitChanges() 昨天遇到了一个问题,流程都没有错,但是更新的时候始终没有更新到数据库...context.SubmitChanges(); } 简单的代码,大概的意思也是获取一个记录,然后更新字段,再submitChanges,大体看看没有错,但是!!!!...context.SubmitChanges(); } 标签: C#,linq to sql,仔细,项目 好了,文章比较简单,也或许你觉得不值得一提,目的也不是为了解决这个问题,希望大家能在做项目中,一定要仔细

    1.3K80

    安装SQL Server 2005 遇到的问题及解决方法

    环境: Windows 2008 R2 Ent Edtion SQL Server 2005 X64 Windows Cluster Services SQL Server Cluster...问题一:安装完成之后在Windows 群集组里无法创建SQL应用服务组; 解决办法: 手动创建 SQL 应用服务组名; 将安装的SQL的使用的磁盘添加到 “SQL 应用服务组名” 里; 完成之后,SQL...Server服务 ;SQL Server Agent 服务;IP资源;磁盘资源等将自动添加到 “SQL 应用服务组名”下; 问题二: FullText Search 全文索引无法启动 现象: 安装...SQL Server 2005 群集或者添加SQL Server 群集节点(当时环境为添加群集节点)后,SQL Server FullText Search(MSSQLSERVER)服务无法启动,在services.msc...解决办法: 安装 SQL Server 2005 SP3 补丁 ,问题自动解决。

    80120

    解决打不开SQL Server配置管理器的问题

    最近被Sql Server搞得贼烦,下了俩次SQL SERVER,重装了一次系统,先对这次遇到的问题发一下感慨:深深地意识到权限的重要性了,一般计算机里面的软件都有不同的访问权限,普通用户(Users)...、管理员(Administrators)、SYSTEM等等,以不同的身份去对这个软件进行操作时,就会有不同的访问权限,一般Administrator的权限是最大的 1)安装Sql Server不用多少时间...(在网速好的情况下,能达到mbps就不错了,要是是kb/s那就慢慢等吧),但是安装成功后,打开Microsoft SQL Server Manegement时,出现以下错误: 2)根据经验,立马打开SQL...Server 4)本以为到此就结束了,结果一波未平一波又起: 5)在这纠结了好久,最后想起了权限的问题,不过权限不够,就会被拒绝访问,因此要用管理员的身份进入cmd命令窗口,步骤如下: 6)这样你就是管理员的身份去打开...cmd命令窗口了,重复步骤3的输入,就搞定了: 7)最后打开Sql Server配置管理器就可以进到里面去了,开启Sql Server服务,再重新打开Sql Server Manegement,搞定!

    3.2K30

    解决无法安装SQL Server 2008 Management Studio Express的问题

    我的sql server 2008 express是visual studio 2010自带的,所以当然它没有management studio ,自己下了一个安装,不过无法安装SQL Server 2008...刚从网上找到解决方案,本人测试通过,再次分享: VS2010自带的SQL Server是Express简化版的,需要到“SQL Server安装中心>维护>版本升级”,把它升级成“具有高级服务的Express...下面是对具有高级服务的express版本的一些介绍: 具有高级服务的 SQL Server Express 具备 SQL Server 2005 Express Edition 中的全部功能,并且还具有下列功能...: 借助 SQL Server 2005 Management Studio Express (SSMSE) 这一新的易于使用的图形管理工具,轻松管理 SQL Server Express。...对 SQL Server 表中纯字符数据发出全文查询。 全文查询可以包括词和短语,或者词或短语的多种形式。 对本地关系数据运行 SQL Server Reporting Services 报表。

    1.8K30

    浅谈数据库Join的实现原理

    DB2、SQL Server和Oracle都是使用这三种方式,不过Oracle选择使用nested loop的条件跟SQL Server有点差别,内存管理机制跟SQL Server不一样,因此查看执行计划...内部循环为每个外部行执行,在内部输入表中搜索匹配行。最简单的情况是,搜索时扫描整个表或索引;这称为单纯嵌套循环联接。如果搜索时使用索引,则称为索引嵌套循环联接。...Nested Loops通常使用索引在内部表中搜索外部表的每一行。根据预计的开销,Microsoft SQL Server决定是否对外部输入进行排序来改变内部输入索引的搜索位置。...例如冗余字段的运用,将统计分析结果用service定期跑到静态表中,适当的冗余表,使用AOP或类似机制同步更新等。 6. 尽量减少join两个输入端的数据量。...这一点比较常犯的毛病是,条件不符合SARG((Searchable Arguments),在子查询内部条件给的不充分(SQL过于复杂情况下SQL Server查询优化器经常犯傻,写在子查询外部的条件不会被用在子查询内部

    5.4K100

    关于SQL Server中将数值类型转换为字符串的问题

    今天在把一些数据导入到SQL Server的时候遇到有个列被导入成float类型,而我实际需要的是varchar类型,所以要进行类型转换,转换时遇到了一点问题,所以写这篇博客记录一下。...SQL Server中的数值类型分为两种,一种是精确的数值类型,具体的数据类型有:bit、tinyint、smallint、int、bigint、smallmoney、money和decimal,这些数据类型能够精确的表明某以数值...有些时候我们需要将这些数值类型转换为字符串类型,用到的转换函数就是cast和convert,这两个函数的作用都是进行类型转换,只不过语法格式不同。...据说在转换时还是有一定的区别的,不过我个人更习惯于使用convert函数,应该这个函数一方面更像是个函数的语法,另一方面在做时间和数值转换成字符串时还可以指定转换的格式。...对于精确数值的数据类型,转换出来的字符串就是我们存储的数值。

    2.4K10

    这是我见过最有用的Mysql面试题,面试了无数公司总结的(内附答案)

    联接的类型如下: 内部联接 左联接 正确加入 外连接 35.内部联接和外部联接之间有什么区别? 内部联接:当正在比较的两个(或多个)表之间至少有一些匹配数据时,内部联接将返回行。...外部联接:外部联接从两个表返回行,这些行包括与一个或两个表不匹配的记录。 36.什么是SQL约束? SQL约束是在数据库中插入,删除或更新数据时实施一些约束的一组规则。 37....SQL中有哪些运算符? SQL Operator是保留字,主要在SQL语句的WHERE子句中使用,以执行诸如算术运算和比较之类的操作。这些用于在SQL语句中指定条件。 共有三种类型的运算符。...如果假设在交叉联接中使用Where子句 则查询将像内部联接一样工作。 74.什么是整理? 归类定义为一组规则,这些规则确定如何对字符数据进行排序和比较。...实用的SQL查询面试问题(带有答案的SQL Server查询示例) 在这一部分中,我们将看到SQL实践问题,其中包含复杂的SQL查询面试问题和基本的SQL面试问题。

    27.1K20

    解决在linux跑连接sql server老版本会报错的问题

    https://aws.amazon.com/cn/blogs/opensource/tls-1-0-1-1-changes-in-openjdk-and-amazon-corretto/ 网上搜索的大部分方法无法帮助我...报错如下: The server selected protocol version TLS10 is not accepted by client preferences [TLS12] 在java...的根目录下(我的是1.8),在jdk11会在conf下找安全性文件,在jre/lib/security下有一个java.security文件,这个文件里的配置的jdk.tls.disabledAlgorithms...配置向里面会禁用掉TLS1.0版本的传输协议,这时候我们需要关闭该协议,删除TLS1.0,当然在这个文件下删除是没有任何用处的,网上的大部分帖子也都是说改这个文件,我试了是不可以的,所以使用的是如下方法...include jdk.disabled.namedCurves``` 保存后在跑java项目的时候: ```bash -Djava.security.properties=xxx 以上参数确定好新文件的位置

    1.7K20

    【DB笔试面试424】SQL Server哪类视图是可以更新的?请举例说明。

    题目 SQL Server哪类视图是可以更新的?请举例说明。...答案 答案:SQL Server 2000有两种方法增强可更新视图的类别: (1)INSTEAD OF触发器 可以在视图上创建INSTEAD OF触发器,从而使视图可更新。...因此,如果在视图上存在INSTEAD OF触发器,那么通过该语句可更新相应的视图。 (2)分区视图 如果视图属于“分区视图”的指定格式,那么该视图的可更新性将受到限制。...如果视图没有INSTEAD OF触发器,或者视图不是分区视图,那么视图只有满足下列条件才可更新: l SELECT_statement在选择列表中没有聚合函数,也不包含TOP、GROUP BY、UNION...例如,以下视图是不可更新的: CREATE VIEW NoTable AS SELECT GETDATE() AS CurrentDate, @@LANGUAGE AS CurrentLanguage

    1.1K10

    asp.net mvc entityframework sql server 迁移至 mysql方法以及遇到的问题

    背景:   我原来的项目是asp.net mvc5 + entityframework 6.4 for sql server(localdb,sql server),现在需要把数据库切换成mysql,理论上...遇到的问题  再使用scaffold生成controller的时候会报错,这样的错误网上一搜一堆,但所有的解决方法我都试了,不行。...无解,问题应该是mysql.data.entityframework的问题我用vs.net 2019,暂时没有在其它低版本下试过。...目前我的解决方法是,通过修改web.config,在需要用scaffold生成controller的时候把涉及到mysql entityframework的配置全部还原成sql server的配置,等生成成功了...我不知道你们有没有遇到这样的问题,有完美解决的解决方案吗。如果知道的请留言,不甚感激

    1.4K30

    SQL高级查询方法

    WHERE [NOT] EXISTS (subquery) 许多包含子查询的 Transact-SQL 语句都可以改用联接表示。其他问题只能通过子查询提出。...指定要执行的联接类型 内部联接(典型的联接运算,使用类似于 = 或 的比较运算符)。...join_condition 定义用于对每一对联接行进行求值的谓词(比较运算符或关系运算符)。 当 SQL Server 处理联接时,查询引擎会从多种可行的方法中选择最有效的方法来处理联接。...(喜欢的话,Star一下) 阅读原文,或者访问该链接可以在线观看(该系列将更新至GitHub,并且托管到read the docs) https://sql50.readthedocs.io/zh_CN.../latest/ 参考网址:https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2008-r2/ms175995(v=sql

    5.7K20
    领券