Sql server 禁用SQL2008结果集中的消息
除此之外,是否有办法禁用SQL2008中可能随结果集一起发送的消息 (请注意,这与ANSI_警告设置无关。或NOCOUNT) 谢谢你的帮助Sql server 禁用SQL2008结果集中的消息,sql-server,sql-server-2008,dataset,messages,Sql Server,Sql Server 2008,Dataset,Messages,除此之外,是否有办法禁用SQL2008中可能随结果集一起发送的消息 (请注意,这与ANSI_警告设置无关。或NOCOUNT) 谢谢你的帮助 编辑:兼容性设置或表所有者没有问题这与NOCOUNT无关。相信我。无论如何,您都不需要存储过程主体中的任何计数(我很感激您已经测试了它,无论有无) 在这种情况下,我会得到对存储过程的实际调用(从我的应用程序中的调试或使用SQL Profiler),然后将其插入到SSMS或您使用的任何IDE中,将其包装在回滚事务中(这样它就不会意外地进行任何更改)。注意:使用
编辑:兼容性设置或表所有者没有问题这与NOCOUNT无关。相信我。无论如何,您都不需要存储过程主体中的任何计数(我很感激您已经测试了它,无论有无) 在这种情况下,我会得到对存储过程的实际调用(从我的应用程序中的调试或使用SQL Profiler),然后将其插入到SSMS或您使用的任何IDE中,将其包装在回滚事务中(这样它就不会意外地进行任何更改)。注意:使用应用程序将使用的相同凭据,使用IDE登录SQL Server
BEGIN TRANSACTION
EXEC StaffEnquirySurnameSearch @searchterm = 'FOOBAR'
ROLLBACK
看看你能得到什么。对输出使用文本模式,而不是可能隐藏某些内容的网格模式
只是为了说明我认为不应将任何计数添加到您的存储过程中:
CREATE PROCEDURE StaffEnquirySurnameSearch
@searchterm varchar(255)
AS
SET NOCOUNT ON
SELECT AD.Name, AD.Company, AD.telephoneNumber, AD.manager, CVS.Position,
CVS.CompanyArea, CVS.Location, CVS.Title, AD.guid AS guid,
AD.firstname, AD.surname
FROM ADCVS AD
LEFT OUTER JOIN CVS ON
AD.Guid=CVS.Guid
WHERE AD.SurName LIKE @searchterm
ORDER BY AD.Surname, AD.Firstname
GO
我注意到,您没有在表的前面加上数据库所有者(最常见的是“dbo”),这可能意味着任何人都拥有其他副本,并且从应用程序权限的角度来看,这些副本是默认的,尽管我认为这不会改变[SQL版本之间]的结果集,同样的事情也适用于存储过程的所有权,在这里您可能会调用为其他所有者创建的早期版本
同样,在ASP.NET代码中定义存储过程名称的地方(我在链接问题中似乎找不到),也应该定义所有者,即
EXEC dbo.StaffEnquirySurnameSearch @searchterm = 'FOOBAR'
从SQL 2000升级到2008时是否更改了兼容性级别?如果是某种向后兼容性警告消息可能会解决此问题。否,没有办法禁用与结果集一起发送的所有消息。设置nocount on/off对这些类型的消息没有影响。您是否尝试过在不使用“或”的情况下运行相同的CONTAINS查询 i、 e: 而不是
SELECT * FROM my_table
WHERE CONTAINS(my_column, 'a OR monkey') -- "a" is a noise word
你可以把它包在一个试抓。。。更多信息请访问在线图书 例如: 创建表测试\u短字符串( ) 开始尝试
insert into
Test_ShortString (ShortString)
values ('123456789012345')
结束尝试
开始捕捉
--Select Error_Number() as ErrorNumber
结束捕获这些消息是否与不推荐的功能警告类似?我还没有找到一种方法来禁用这些。我想是的。一个是关于截断数据的警告,另一个是全文搜索包含噪音词。在IDE中运行存储过程时,您看到了哪些消息?请查看上面的注释!我希望您在IDE中运行时能告诉我确切的消息,届时您可能会有所帮助。
insert into
Test_ShortString (ShortString)
values ('123456789012345')
--Select Error_Number() as ErrorNumber