Questions tagged «sql-server»

Microsoft SQL Server是一个关系数据库管理系统(RDBMS)。将此标签用于所有SQL Server版本,包括Compact,Express,Azure,Fast-track,APS(以前称为PDW)和Azure SQL DW。请勿将此标签用于其他类型的DBMS(MySQL,PostgreSQL,Oracle等)。除非该标签与数据库直接相关,否则请勿将其用于软件和移动开发问题。


3
仅将一个IDENTITY列插入表中的行
我有一个表Administrator,只有一个列adminId,这是主键。由于业务规则,必须采用这种方式。 我想一劳永逸地理解如何编写存储过程,以便在这样的表中插入值。我正在使用SQL Server和T-SQL,并尝试使用SCOPE_IDENTITY(),但由于该表的INSERT_IDENTITY为false或off,因此无法正常工作。 我真的不希望仅为了能够插入新行而插入虚拟值。谢谢!

8
简单的DateTime SQL查询
如何查询一定范围内的DateTime数据库字段? 我正在使用SQL SERVER 2005 错误代码如下 SELECT * FROM TABLENAME WHERE DateTime >= 12/04/2011 12:00:00 AM AND DateTime <= 25/05/2011 3:53:04 AM 请注意,我需要获取特定时间范围内的行。例如,10分钟的时间范围。 目前,SQL返回的语法不正确,位于'12'附近。”

4
为什么SQL Server不支持无符号数据类型?
我专门在考虑未签名int。 这是一个实际的示例:当您的身份列超出限制时该怎么办?可以BigInt(存储8个字节而不是4个字节)或重构应用程序以支持负整数,甚至可以按照此答案创建自己的规则;这些选项都不是最佳选择。 UInt 会是一个理想的解决方案,但SQL Server不提供(MySQL提供)。 我知道无符号数据类型不是SQL标准(SQL-2003)的一部分,但对我来说似乎仍然很浪费。 不包括这些内容的原因是什么(在SQL Server或标准中)?


7
在SQL中查询比较日期
我有一张桌子,上面列出了所有发生在11月的日期。我写了这个查询 select id,numbers_from,created_date,amount_numbers,SMS_text from Test_Table where created_date <= '2013-04-12' 此查询应返回11月(11月)中发生的所有事情,因为它发生在日期“ 2013-04-12”(12月)之前 但它只是返回的可用日期是发生在天,比04较少(2013- 04 -12) 难道只是比较一天的一部分?而不是整个日期? 如何解决这个问题? Created_date的类型为date 日期格式默认为yyyy-dd-MM
83 sql  sql-server  date  compare 


5
如何在SQL Server数据库中使用UTF-8排序规则?
我已经将数据库从mysql迁移到使用UTF8的原始mysql数据库SQL Server(政治)。 现在我读到/dba/7346/sql-server-2005-2008-utf-8-collat​​ion-charset SQL Server 2008不支持utf8,这是在开玩笑吗? SQL Server承载多个数据库,大多数数据库都是拉丁编码的。由于迁移的数据库是用于Web发布的,因此我想保持utf8编码。我错过了什么吗?还是需要在应用程序级别进行编码/拒绝?
83 sql-server  utf-8 


22
在SQL Server 2005中诊断死锁
我们在Stack Overflow SQL Server 2005数据库中看到了一些有害但罕见的死锁情况。 我附加了事件探查器,并使用这篇有关解决死锁的出色文章来建立跟踪配置文件,并捕获了许多示例。奇怪的是,死锁写入总是相同的: UPDATE [dbo].[Posts] SET [AnswerCount] = @p1, [LastActivityDate] = @p2, [LastActivityUserId] = @p3 WHERE [Id] = @p0 其他死锁语句有所不同,但通常是对posts表的一些琐碎,简单的读取。这个总是在僵局中被杀死。这是一个例子 SELECT [t0].[Id], [t0].[PostTypeId], [t0].[Score], [t0].[Views], [t0].[AnswerCount], [t0].[AcceptedAnswerId], [t0].[IsLocked], [t0].[IsLockedEdit], [t0].[ParentId], [t0].[CurrentRevisionId], [t0].[FirstRevisionId], [t0].[LockedReason], [t0].[LastActivityDate], [t0].[LastActivityUserId] FROM [dbo].[Posts] AS [t0] WHERE [t0].[ParentId] = @p0 确切地说,我们没有看到写/写死锁,而是看到了读/写。 目前,我们混合使用LINQ和参数化SQL查询。我们已经添加with (nolock)了所有的SQL查询。这可能有所帮助。我昨天还修复了一个(非常)写得不好的徽章查询,每次都要花费20秒以上的时间,而且每分钟都在运行。我希望这是一些锁定问题的根源! 不幸的是,大约2小时前,我又遇到了一个死锁错误。同样的症状,同样的罪魁祸首。 …


8
SQL Server 2008空字符串与空间
今天早上我碰到了一些奇怪的事情,以为我要把它提交评论。 有人可以解释为什么针对SQL 2008运行以下SQL查询时会显示“等于”。数据库兼容性级别设置为100。 if '' = ' ' print 'equal' else print 'not equal' 这将返回0: select (LEN(' ')) 它似乎正在自动修剪空间。我不知道在以前的SQL Server版本中是否是这种情况,而且我什至没有办法进行测试。 我遇到这个问题是因为生产查询返回的结果不正确。我找不到任何地方记录此行为。 有人对此有任何信息吗?

10
为什么要使用“选择前100%”?
我知道在SQL Server 2005之前,您可以“欺骗” SQL Server,以允许在视图定义中使用订单,也可以TOP 100 PERCENT在SELECT子句中包含该订单。但是我看到了我继承的其他代码,这些代码SELECT TOP 100 PERCENT在动态SQL语句(在ASP.NET应用程序的ADO中 使用)中使用了...。有什么理由吗?结果与不包括一样吗?TOP 100 PERCENT
82 sql  sql-server  tsql 

2
错误0xc0202049:数据流任务1:无法插入只读列
我正在使用SQL Server 2008导入和导出向导。我需要导入一个数据库。我打开了SQL Server导入/导出向导,并执行了以下操作: 对于目的地,我选择了“ SQL Server本机客户端10”。 然后我从一个或多个表或视图中选择了复制数据。 SSIS立即运行 但我遇到以下错误, 操作已停止... 初始化数据流任务(成功) 初始化连接(成功) 设置SQL命令(成功) 设置源连接(成功) 设置目标连接(成功) 验证中(错误) 消息错误0xc0202049:数据流任务1:无法插入只读列“ ActionID”。(SQL Server导入和导出向导) 错误0xc0202045:数据流任务1:列元数据验证失败。(SQL Server导入和导出向导) 错误0xc004706b:数据流任务1:“组件“目标-AuditActions”(22)”验证失败,并返回了验证状态“ VS_ISBROKEN”。(SQL Server导入和导出向导) 看来我无法导入标识列和时间戳列,因此如何强制导入这些值?

16
在SQL Server 2005中应使用哪种数据类型存储电话号码?
我需要将电话号码存储在表格中。请建议使用哪种数据类型? 等待。请在继续阅读之前继续阅读。 由于销售代表可以使用此字段进行搜索(包括通配符搜索),因此需要对该字段进行大量索引。 到目前为止,我们希望电话号码有多种格式(来自XML文件)。是否需要编写解析器以转换为统一格式?可能有数百万的数据(重复的数据),我不想每次通过某些源数据时都占用服务器资源(在诸如预处理等活动中)。 任何建议都欢迎。 更新:我无法控制源数据。只是xml文件的结构是标准的。希望将xml解析保持在最低水平。一旦进入数据库,检索就应该很快。这里出现的一个疯狂建议是,它甚至应该与Ajax AutoComplete功能一起使用(这样,销售代表可以立即看到匹配的功能)。我的天啊!!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.