如何縮小MSSQL的記錄檔已經是一個經常性的問題了,不過這個問題在精華區已經有不少答案了,我這裡也不再贅述。現在我們討論一下治本的問題,即如何使記錄檔不再增大?先介紹一個簡單的方法。就是把資料庫的故障還原模型設定為“簡單”(SQL2K)。這樣它就會在Checkpoint的時候截斷日誌。具體操作方法是:1、在Enterprise Manager中右鍵點資料庫,“屬性|選項|故障還原”,選擇“簡單”就可以了,如果是SQL7,在“屬性|選項”中有一個“trunc. log on chkpt.
懶得翻譯了,大意:在有合適的索引的時候,Top n和set rowcount n是一樣快的。但是對於一個無序堆來說,top n更快。原理自己看英文去。Q. Is using the TOP N clause faster than using SET ROWCOUNT N to return a specific number of rows from a query? A. With proper indexes, the TOP N clause and SET ROWCOUNT N
Q. 如何得到隨機排序結果?A. 要得到隨機排序的列,或者返回x條隨機播放的列,你可以使用隨機數。但是RAND函數在一個查詢中只能返回一個結果。你可以在NOWID函數返回的列上做ORDER BY。請看樣本:SELECT *FROM Northwind..Orders ORDER BY NEWID() SELECT TOP 10 * FROM Northwind..Orders ORDER BY NEWID()
: 我在ms sql中建了一個表,可由於種種原因有些記錄重複了: 記錄完全的一模一樣。: 現在我想把重複的都刪掉,只保留重複記錄中的第一條。: 我在database好象看到有介紹oracle的,select distinct * into #table_name from table_namedelete from table_nameselect * into table_name from #table_namedrop table #table_name與此相關的是“select
SQL Server交易記錄可能會被填滿,這會阻止之後的資料庫操作,包括UPDATE, DELETE, INSERT 和CHECKPOINT。交易記錄填滿會導致1105錯誤:Can't allocate space for object syslogs in database dbname becausethe logsegment is full。 If you ran out of space in syslogs, dumpthe transaction log。 Otherwise
XDR不會不知道吧?就是簡化的XML-Data啦。現在示範一個如何?這樣的查詢SELECT o.OrderID, o.OrderDate from Orders o, Customers c,WHERE o.CustomerID = c.CustomerID and c.CompanyName = ?Code: Dim sConn sConn = "Provider=SQLOLEDB; Data Source=(local); Initial Catalog=Northwind;
我將提出一個挑戰,誰能用SQLSEERVER提出計算素數最好的方法,我用了一個新的特點CTE和某些TSQL實現,但均不理想,前者(CTE)有限制,而後者(TSQL)產生一百萬個素數用了7分種你可以乾的更好嗎?這兒是我的一些程式碼片段落(TSQL實現)set nocount on declare @prime table (prime int not null primary key) --insert into @prime values (2) --insert into @prime