SQL SERVER 2005中的外键关系所致的隐含锁定
SQL SERVER 2005数据库应用中,发生了奇怪的事情:一个事务只查询一个表,没有插入和删除动作(有对其它表的插入),结果其它事务删除表记录时,被前一事务阻塞了。后来发现其它表上有个外键指向这个表--这就是原因。详细情况懒得记录了。找到了一篇文章:Blocking on Foreign Keys in SQL Serverhttps://decipherinfosys.wordpress.com/2007/02/01/[@more@]
SQL SERVER 大小写敏感问题
SQL SERVER大小写敏感问题,其实是两个问题:标识符,例如表名和字段名,是否区分大小写;字符型字段进行比较时,是否区分大小写。第一个问题与SQL SERVER数据库的COLLATE属性有关。这个属性的关于大小写敏感子属性的取值有两种:CI case-insensitiveCS case-sensitive当创建表等对象时,数据字典中保存的表明和字段名的大小写等同于SQL语句中的大小写。如果用大写T创建表,字典中保存的表名就是大写T;如果用小写t创建表,字典中保存的表名就是小写t。如果数据库的COLLATE是CI,则select * from tselect * from T查询到的是同一个表,原因
SQL SERVER标识符的级别
SQL SERVER标识符有其所在的级别:实例的默认排序规则 影响 实例级对象(如登录名和数据库名)的标识符的排序;数据库的默认排序规则 影响 数据库对象(例如表、视图和列名)的标识符的排序。原来登录名和数据库名也可能有大小写之分![@more@]
SQL SERVER里怎样获得client客户端的IP地址
HOST_NAME()只能得到当前的主机名。查中文资料,查到的都是用 master..xp_cmdshell 调用ping HOST_NAME(),然后拆字符串得到IP地址。跨网段后,这种办法就失效了。难道居然不能从堂堂M$的数据库里得到client的IP地址?查E文资料,找到了:SELECT *FROM sys.dm_exec_connectionsWHERE session_id = @@SPIDSQL2008中还可以通过这个得到:CONNECTIONPROPERTY[@more@]ref: http://weblogs.sqlteam.com/peterl/archive/2010/03/20/Get-client-IP-address.aspx