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 閱讀(742) |
評論 (0) 編輯
存儲過程遞歸調用時 游標的使用注意事項
摘要: 存儲過程遞歸調用時 游標的使用注意事項 必須把游標聲明為局部的,即加上local
閱讀全文
posted @
2013-05-14 17:17 Ke 閱讀(871) |
評論 (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 閱讀(873) |
評論 (0) 編輯
SQL Server:查看SQL日志文件大小命令:dbcc sqlperf(logspace)
摘要: SQL Server:查看SQL日志文件大小命令:dbcc sqlperf(logspace)
閱讀全文
posted @
2012-09-27 15:46 Ke 閱讀(1621) |
評論 (0) 編輯
該操作未能執行,因為 OLE DB 提供程序SQLOLEDB無法啟動分布式事務(收藏)
摘要: 1. 雙方啟動MSDTC服務
2. 打開雙方135端口
3. 保證鏈接服務器中語句沒有訪問發起事務服務器的操作
4. 在事務開始前加入set xact_abort ON語句
5. MSDTC設置
6. 鏈接服務器和名稱解析問題
閱讀全文
posted @
2012-07-26 16:19 Ke 閱讀(1979) |
評論 (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 閱讀(1061) |
評論 (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 閱讀(1140) |
評論 (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 閱讀(694) |
評論 (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 閱讀(1541) |
評論 (0) 編輯
SQL SERVER鎖機制
摘要: SQL SERVER的鎖機制是這樣的:
當對表進行修改時,系統首先會在TABLE和PAGE上加一個IU或IX鎖,也就是意向鎖,然后給被操作行加一個U鎖或X鎖,因為對表中行修改的事務沒結束,這些鎖是一直存在的,當你查詢該表時,要加S鎖,因為S鎖和已經加的IU或IX模式不兼容,因此,查詢只能等待。
閱讀全文
posted @
2012-05-17 14:09 Ke 閱讀(319) |
評論 (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 閱讀(2465) |
評論 (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 閱讀(523) |
評論 (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 閱讀(503) |
評論 (0) 編輯
[Microsoft][ODBC 驅動程序管理器] 驅動程序的 SQLAllocHandle on SQL_HANDLE_ENV 失敗
摘要: [Microsoft][ODBC 驅動程序管理器] 驅動程序的 SQLAllocHandle on SQL_HANDLE_ENV 失敗
閱讀全文
posted @
2009-08-04 10:28 Ke 閱讀(15444) |
評論 (3) 編輯