1. 將 SQL Server 的 instance 還有 SQL Server Agent 執行的Account都換成 Domain 的Account 重新啟動 Service 2. 所換的Account 在本機及網路磁碟機都必須有足夠的權限,最好是 domian administrators 指令 BACKUP DATABASE DataBaseName TO DISK = '\\UNCName\FolderName\BackupDataBaseName.Bak';
- 2月 02 週一 200913:33
如何將資料庫備份到網路的分享磁碟上
- 12月 31 週三 200817:32
SQL 2005 內建的產生 hash 的功能及 將 byte轉成 base64字串的技巧
1.產生 hash :在 SQL 2005版本中, 已內建了 HashBytes function 用來做 Hash 的功能, 可以參考該 function 的用法: http://msdn.microsoft.com/en-us/library/ms174415.aspx. 2.將byte 轉成 base64的字串 : 利用 SQL 2005 提供的 將xml 裡 binary的內容轉成base64的語法 "FOR XML RAW, BINARY BASE64"
- 4月 26 週三 200613:25
SQL 2005 預設不支援 *= 或 =* 的語法
SQL 2005 預設不支援 *= 或 =* 的語法
如果要需要的話,在 Sql Server Managment Studio 裡, 需要的DB的屬性->選項->相容性層級
將相容性層級改成 "SQL Server 2000 (80)" .
不過要注意,此後這個DB裡一些 SQL 2005 新增的功能會無法使用 , 例如 XML 的欄位型態
如果要需要的話,在 Sql Server Managment Studio 裡, 需要的DB的屬性->選項->相容性層級
將相容性層級改成 "SQL Server 2000 (80)" .
不過要注意,此後這個DB裡一些 SQL 2005 新增的功能會無法使用 , 例如 XML 的欄位型態
- 4月 19 週三 200600:04
SQL 2005 新語法 "CROSS APPLY"
要在同一個Query中,呼叫 Function 時將另一個 Table 的欄位當做參數傳給 Function
,這在SQL 2000 裡是做不到的.
但是 Sql Server 2005 裡可以使用 " CROSS APPLY " 來達到這個功能.
範例:
SELECT *
FROM Departments AS D
CROSS APPLY fn_getsubtree(D.deptmgrid) AS ST
參考資料
http://msdn2.microsoft.com/en-us/library/ms175156.aspx
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsql90/html/sql_05TSQLEnhance.asp
,這在SQL 2000 裡是做不到的.
但是 Sql Server 2005 裡可以使用 " CROSS APPLY " 來達到這個功能.
範例:
SELECT *
FROM Departments AS D
CROSS APPLY fn_getsubtree(D.deptmgrid) AS ST
參考資料
http://msdn2.microsoft.com/en-us/library/ms175156.aspx
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsql90/html/sql_05TSQLEnhance.asp
- 4月 13 週四 200618:17
Row_Number() 的運用 上一筆,下一筆
下一筆
SELECT RowNum,USER_GUID,NAME
FROM (SELECT USER_GUID,NAME , ROW_NUMBER() OVER(ORDER BY USER_GUID) as RowNum
FROM TB_EB_USER ) as DerivedTableNameW
WHERE RowNum =
(SELECT RowNum
FROM
(SELECT USER_GUID,ROW_NUMBER() OVER(ORDER BY USER_GUID) as RowNum
FROM TB_EB_USER
) as DerivedTableName
WHERE USER_GUID ='994669d3-822a-40e2-82fc-622b93279386') + 1
SELECT RowNum,USER_GUID,NAME
FROM (SELECT USER_GUID,NAME , ROW_NUMBER() OVER(ORDER BY USER_GUID) as RowNum
FROM TB_EB_USER ) as DerivedTableNameW
WHERE RowNum =
(SELECT RowNum
FROM
(SELECT USER_GUID,ROW_NUMBER() OVER(ORDER BY USER_GUID) as RowNum
FROM TB_EB_USER
) as DerivedTableName
WHERE USER_GUID ='994669d3-822a-40e2-82fc-622b93279386') + 1
上一筆
SELECT RowNum,USER_GUID,NAME
FROM (SELECT USER_GUID,NAME , ROW_NUMBER() OVER(ORDER BY USER_GUID) as RowNum
FROM TB_EB_USER ) as DerivedTableNameW
WHERE RowNum =
(SELECT RowNum
FROM
(SELECT USER_GUID,ROW_NUMBER() OVER(ORDER BY USER_GUID) as RowNum
FROM TB_EB_USER
) as DerivedTableName
WHERE USER_GUID ='994669d3-822a-40e2-82fc-622b93279386') - 1
FROM (SELECT USER_GUID,NAME , ROW_NUMBER() OVER(ORDER BY USER_GUID) as RowNum
FROM TB_EB_USER ) as DerivedTableNameW
WHERE RowNum =
(SELECT RowNum
FROM
(SELECT USER_GUID,ROW_NUMBER() OVER(ORDER BY USER_GUID) as RowNum
FROM TB_EB_USER
) as DerivedTableName
WHERE USER_GUID ='994669d3-822a-40e2-82fc-622b93279386') - 1
- 4月 13 週四 200618:00
利用 SQL SERVER 2005 新功能達到分頁效果
下列的語法可以SELECT 出第 10筆到第20筆之間的資料,
靠的是SQL 2005 的新功能 ROW_NUMBER()
SELECT RowNum,USER_GUID,NAME
FROM
(SELECT USER_GUID,NAME ,
ROW_NUMBER() OVER(ORDER BY USER_GUID) as RowNum
FROM TB_EB_USER
) as DerivedTableName
WHERE RowNum BETWEEN 10 AND 20
1