我(或许天真)认为在SQL Server中,nvarchar会将每个字符存储在两个字节中.但情况似乎并非总是如此.那里的文档表明某些字符可能需要更多的字节.有人有明确的答案吗?
我在SQL Server T-SQL中存储了在事务范围内从.NET调用的过程.
在我的存储过程中,我正在做一些记录到一些审计表.我在审核表中插入一行,然后在事务中稍后通过更新填充更多信息.
我发现,如果有几个人同时尝试同样的事情,其中1或2个将成为交易死锁的受害者.目前我假设当我插入审计表时发生了某种锁定.
我想在我正在执行的事务之外执行对审计表的插入和更新,这样即使事务回滚,审计仍会发生.我希望这可能会阻止任何锁定发生,允许一个人同时执行该程序.
任何人都可以帮我在T-SQL中做到这一点吗?
谢谢,Rich
更新 - 我发现审计与事务死锁无关,这要归功于Josh建议使用SQL事件探查器来追踪死锁的来源.
我有一个带有执行SQL任务的SQL Server 2005 SSIS包.我编辑SQL语句,完成确定以进行更改.我回到执行SQL任务 - 并且更改已经成功.大.
我现在去保存包裹.我点击保存.我回顾一下执行SQL任务,并且更改已丢失.
这里发生了什么,我怎么能阻止它?