sql server
SQL Server 2005中的CTE递归查询得到一棵树 (转)
摘要: with CTE as
(
-->Begin 一个定位点成员
select ID, Name,Parent,cast(Name as nvarchar(max)) as TE,
ROW_NUMBER()over(order by getdate()) as OrderID
--最关键是上面这个字段,要获取排序字段,按字符串来排序。
--其中窗口函数必须要使用order by,但是不能用整型,那就用时间吧
from Tree where Parent is null
-->End
union all
-->Begin一个递归成员
select Tree.ID, Tree.Name,Tree.Parent,cast(replicate(' ',len(CTE.TE))+'|_'+Tree.name as nvarchar(MAX)) as TE,
<
阅读全文
posted @
2014-07-17 14:46 Ke 阅读(726) |
评论 (0) 编辑
存储过程递归调用时 游标的使用注意事项
摘要: 存储过程递归调用时 游标的使用注意事项 必须把游标声明为局部的,即加上local
阅读全文
posted @
2013-05-14 17:17 Ke 阅读(856) |
评论 (0) 编辑
如何查看SQL SERVER补丁的版本
摘要: 8.00.760 SQL Server 2000 SP3
8.00.2039 SQL Server 2000 SP4
For SQL Server 2005
打了sp3后版本号是 9.0.4035如果是这个旧说明不用打了,如果比这个低,说明没有打
阅读全文
posted @
2012-11-12 16:19 Ke 阅读(847) |
评论 (0) 编辑
SQL Server:查看SQL日志文件大小命令:dbcc sqlperf(logspace)
摘要: SQL Server:查看SQL日志文件大小命令:dbcc sqlperf(logspace)
阅读全文
posted @
2012-09-27 15:46 Ke 阅读(1610) |
评论 (0) 编辑
该操作未能执行,因为 OLE DB 提供程序SQLOLEDB无法启动分布式事务(收藏)
摘要: 1. 双方启动MSDTC服务
2. 打开双方135端口
3. 保证链接服务器中语句没有访问发起事务服务器的操作
4. 在事务开始前加入set xact_abort ON语句
5. MSDTC设置
6. 链接服务器和名称解析问题
阅读全文
posted @
2012-07-26 16:19 Ke 阅读(1969) |
评论 (0) 编辑
Sql Server 2000 DB Link
摘要: 创建一个sqlserver对sqlserver的数据库链接:
exec sp_addlinkedserver 'link_northsnow','','SQLOLEDB','远程服务器主机名或域名或ip地址'
exec sp_addlinkedsrvlogin 'link_northsnow','false',null,'用户名','用户口令'
阅读全文
posted @
2012-07-25 19:13 Ke 阅读(1054) |
评论 (0) 编辑
sql server还原备份, 其它用户无法登录解决方法
摘要: sp_change_users_login的用法有三种
用法1:
exec sp_change_users_login 'REPORT'
列出当前数据库的孤立用户
用法2:
exec sp_change_users_login 'AUTO_FIX','用户名'
可以自动将用户名所对应的同名登录添加到syslogins中
如果没有建立testuser的登录用户,还可以用
sp_change_users_login 'Auto_Fix', 'testuser', NULL, 'testpass'
用法3:
exec sp_change_users_login 'UPDATE_ONE','用户名','登录名'
将用户名映射为指定的登录名。
阅读全文
posted @
2012-07-08 12:13 Ke 阅读(1129) |
评论 (0) 编辑
转:SQL SERVER 2000中全角半角互转
摘要: CREATE FUNCTION f_Convert(
@str NVARCHAR(4000), --要转换的字符串
@flag bit --转换标志,0转换成半角,1转换成全角
)RETURNS nvarchar(4000)
AS
BEGIN
DECLARE @pat nvarchar(8),@step int,@i int,@spc int
IF @flag=0
SELECT @pat=N'%[!-~]%',@step=-65248,
@str=REPLACE(@str,N' ',N' ')
ELSE
SELECT @pat=N'%[!-~]%',@step=65248,
@str=REPLACE(@str,N' ',N' ')
SET @i=PATINDEX(@pat COLLATE LATIN1_GENERAL_BIN,@str)
WHILE @i>0
SELECT @str=REPLACE(@str,
SUBSTRING
阅读全文
posted @
2012-05-31 14:08 Ke 阅读(687) |
评论 (1) 编辑
SQL Server死锁的解除方法
摘要: SQL Server死锁的查询方法:
exec master.dbo.p_lockinfo 0,0 ---显示死锁的进程,不显示正常的进程
exec master.dbo.p_lockinfo 1,0 ---杀死死锁的进程,不显示正常的进程
阅读全文
posted @
2012-05-28 18:04 Ke 阅读(1532) |
评论 (0) 编辑
SQL SERVER锁机制
摘要: SQL SERVER的锁机制是这样的:
当对表进行修改时,系统首先会在TABLE和PAGE上加一个IU或IX锁,也就是意向锁,然后给被操作行加一个U锁或X锁,因为对表中行修改的事务没结束,这些锁是一直存在的,当你查询该表时,要加S锁,因为S锁和已经加的IU或IX模式不兼容,因此,查询只能等待。
阅读全文
posted @
2012-05-17 14:09 Ke 阅读(311) |
评论 (0) 编辑
SQL Server2000删除日志释放磁盘空间
摘要: 程序代码
/*第一步:查询出文件编号,修改@fileid值*/
select * from sysfiles
/*第二步:删除日志并释放空间*/
declare @table nvarchar(50),@fileid int
set @table = 'Northwind'
set @fileid = 2
dump transaction @table with no_log
backup log @table with no_log
dbcc shrinkfile(@fileid)
阅读全文
posted @
2012-05-09 20:42 Ke 阅读(2457) |
评论 (0) 编辑
Update与Top关键字,更新指定表中数据的任意一条记录
摘要: 更新指定表中数据的任意一条记录
update ad_user set [password] = '1234'
from ad_user a join (select top 1 * from ad_user) b on a.ad_user_id = b.ad_user_id
阅读全文
posted @
2012-05-09 17:16 Ke 阅读(516) |
评论 (0) 编辑
秒數與日期時間的轉換函數
摘要: select dateadd(s, 1261557316 ,'1970-1-1')
select datediff(s , '1970-01-01' , '2009-12-23 08:35:16')
阅读全文
posted @
2012-03-05 17:05 Ke 阅读(496) |
评论 (0) 编辑
[Microsoft][ODBC 驱动程序管理器] 驱动程序的 SQLAllocHandle on SQL_HANDLE_ENV 失败
摘要: [Microsoft][ODBC 驱动程序管理器] 驱动程序的 SQLAllocHandle on SQL_HANDLE_ENV 失败
阅读全文
posted @
2009-08-04 10:28 Ke 阅读(15405) |
评论 (3) 编辑