當前位置:首頁 » 編程語言 » csqlserver事務
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

csqlserver事務

發布時間: 2022-11-07 06:52:12

A. sql Server啟動事務有幾種方式

有三種。第一種是顯式聲名的事務,這種事務要以BEGIN
TRANSACTION為事務的起始標志。第二種是自動提交事
務,這是SQL
Server的預設設置。每一個T-SQL語句在執行完成後會被自動提交。第三種是隱含事務,在這種方式下,
SQL
Server會在當前事務被提交或回滾後自動啟動一個新的事務,這個新事務直到用戶執行COMMIT或ROLLBACK為止,這時系
統又會啟動一個新事務。這樣就形成了一個連續的事務鏈。
答:Cluster
Index和Noncluster
Index的結構都是平衡樹。它們的主要區別是Cluster
Index的葉子節點是DATA
PAGE
而Noncluster
Index的葉子節點是數據在DATA
PAGE中的指針。
答:可以使用SP_RENAME來修改Table的名字。
例如:use
pubscreate
table
test(
a
char(10))
sp_rename
test,newtest
這個例子將新建的名為test的Table改為newtest。
答:在這種情況下,要運行SQL
Server7.0
Setup程序。Setup程序會根據新的機器名重新設置SQL
Server。
答:如果您沒有成功的安裝SQLServer7.0,有幾個文件可以幫助您確定是那一步出的錯。首先在Windows目錄下的
SQLstp.log文件包含有setup過程的詳細信息。查看這個文件可以確定Setup是在那一步出錯的。
如果Setup過程是在配置的部分出錯,那麼查看在MSSQL7\Log目錄下的錯誤日誌和在MSSQL7\Install目錄下的
Cnfgsvr.out文件。SQLServer7.0Setup運行一個名為Cnfgsvr.exe的應用程序來配置SQLServer。這個程序啟動SQLServer,
連接SQLServer並運行初始安裝腳本。在這一過程中出現的任何錯誤都會被寫入Cnfgsvr.out文件。

B. SQL Server啟動事務有幾種方式

有三種。第一種是顯式聲名的事務,這種事務要以BEGIN TRANSACTION為事務的起始標志。第二種是自動提交事 務,這是SQL Server的預設設置。每一個T-SQL語句在執行完成後會被自動提交。第三種是隱含事務,在這種方式下, SQL Server會在當前事務被提交或回滾後自動啟動一個新的事務,這個新事務直到用戶執行COMMIT或ROLLBACK為止,這時系 統又會啟動一個新事務。這樣就形成了一個連續的事務鏈。 答:Cluster Index和Noncluster Index的結構都是平衡樹。它們的主要區別是Cluster Index的葉子節點是DATA PAGE 而Noncluster Index的葉子節點是數據在DATA PAGE中的指針。 答:可以使用SP_RENAME來修改Table的名字。 例如:use pubscreate table test( a char(10)) sp_rename test,newtest 這個例子將新建的名為test的Table改為newtest。 答:在這種情況下,要運行SQL Server7.0 Setup程序。Setup程序會根據新的機器名重新設置SQL Server。 答:如果您沒有成功的安裝SQLServer7.0,有幾個文件可以幫助您確定是那一步出的錯。首先在Windows目錄下的 SQLstp.log文件包含有setup過程的詳細信息。查看這個文件可以確定Setup是在那一步出錯的。 如果Setup過程是在配置的部分出錯,那麼查看在MSSQL7\Log目錄下的錯誤日誌和在MSSQL7\Install目錄下的 Cnfgsvr.out文件。SQLServer7.0Setup運行一個名為Cnfgsvr.exe的應用程序來配置SQLServer。這個程序啟動SQLServer, 連接SQLServer並運行初始安裝腳本。在這一過程中出現的任何錯誤都會被寫入Cnfgsvr.out文件。

C. sql server中的事務是什麼意思

事務是單個的工作單元。如果某一事務成功,則在該事務中進行的所有數據修改均會提交,成為資料庫中的永久組成部分。如果事務遇到錯誤且必須取消或回滾,則所有數據修改均被清除。
SQL
Server
以下列事務模式運行。自動提交事務
每條單獨的語句都是一個事務。顯式事務
每個事務均以
BEGIN
TRANSACTION
語句顯式開始,以
COMMIT

ROLLBACK
語句顯式結束。隱式事務
在前一個事務完成時新事務隱式啟動,但每個事務仍以
COMMIT

ROLLBACK
語句顯式完成。批處理級事務只能應用於多個活動結果集
(MARS),在
MARS
會話中啟動的
Transact-SQL
顯式或隱式事務變為批處理級事務。

D. 什麼是sqlserver中的事務

用個例子來說明
如果我們要修改表中的某條記錄,可以用以下方法:
首先刪除原記錄,然後插入修改後的新記錄
這個過程中有2步
如果出現記錄刪除成功,但插入的時候因為某種原因導致失敗的話,就會出現數據丟失。
這個時候,就可以用事物來處理
把刪除和插入當成是一件事,必須是2步都成功,數據才發生改變。
否則若是出現刪除成功,而插入失敗的情況,希望將自動回滾,恢復為原始狀態。

E. 什麼是SQLSERVER事務處理和事務回滾

事務(Transaction)是訪問並可能更新資料庫中各種數據項的一個程序執行單元(unit)。事務通常由高級資料庫操縱語言或編程語言(如SQL,C++或Java)書寫的用戶程序的執行所引起,並用形如begin transaction和end transaction語句(或函數調用)來界定。事務由事務開始(begin transaction)和事務結束(end transaction)之間執行的全體操作組成。

當一個事務的某一個操作發生問題時,整個事務可以回滾掉,就像沒有做任何操作一樣。這就是事務回滾。
如果一個事務的所有操作均成功,則就可以提交事務,保證事務的完整性。

應用程序主要通過指定事務啟動和結束的時間來控制事務。

以MS SQL Server的Transac-SQL語言為例,
事務啟動:
BEGIN TRAN [ SACTION ] [ transaction_name | @tran_name_variable [ WITH MARK [ 'description' ] ] ]

結束事務
可以使用 COMMIT 或 ROLLBACK 語句結束事務。

1 事務的提交
BEGIN TRANSACTION T1
INSERT tabel1 ...
UPDATE table2 ...
...
/* 當所有成功操作完成,提交事務 */
COMMIT TRAN T1

2 事務的回滾
BEGIN TRANSACTION T1
INSERT tabel1 ...
...
/* 當發生錯誤或事務被取消, 回滾事務 */
ROLLBACK TRAN T1

F. sqlserver 事務日誌沒幾天就滿了

1.清空日誌 DUMP TRANSACTION 庫名 WITH NO_LOG
2.截斷事務日誌: BACKUP LOG 庫名 WITH NO_LOG
3.收縮資料庫文件(如果不壓縮,資料庫的文件不會減小 企業管理器--右鍵你要壓縮的資料庫--所有任務--收縮資料庫--收縮文件 --選擇日誌文件--在收縮方式里選擇收縮至XXM,這里會給出一個允許收縮到的最小M數,直接輸入這個數,確定就可以了 --選擇數據文件--在收縮方式里選擇收縮至XXM,這里會給出一個允許收縮到的最小M數,直接輸入這個數,確定就可以了 也可以用SQL語句來完成 --收縮資料庫 DBCC SHRINKDATABASE(庫名) --收縮指定數據文件,1是文件號,可以通過這個語句查詢到:select * from sysfiles DBCC SHRINKFILE(1)
4.為了最大化的縮小日誌文件(如果是sql 7.0,這步只能在查詢分析器中進行)
a.分離資料庫: 企業管理器--伺服器--資料庫--右鍵--分離資料庫
b.在我的電腦中刪除LOG文件
c.附加資料庫: 企業管理器--伺服器--資料庫--右鍵--附加資料庫 此法將生成新的LOG,大小隻有500多K
或用代碼: 下面的示例分離 pubs,然後將 pubs 中的一個文件附加到當前伺服器。
a.分離 EXEC sp_detach_db @dbname = '庫名'
b.刪除日誌文件
c.再附加 EXEC sp_attach_single_file_db @dbname = '庫名', @physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\庫名.mdf'
5.為了以後能自動收縮,
做如下設置: 企業管理器--伺服器--右鍵資料庫--屬性--選項--選擇"自動收縮" --SQL語句設置方式: EXEC sp_dboption '庫名', 'autoshrink', 'TRUE'
6.如果想以後不讓它日誌增長得太大
企業管理器--伺服器--右鍵資料庫--屬性--事務日誌 --將文件增長限制為xM(x是你允許的最大數據文件大小) --SQL語句的設置方式:
alter database 庫名 modify file(name=邏輯文件名,maxsize=20)

G. sqlserver 事務 超時 會自動結束嗎

當 SET XACT_ABORT 為 ON 時,如果執行 Transact-SQL 語句產生運行時錯誤,則整個事務將終止並回滾。

當 SET XACT_ABORT 為 OFF 時,有時只回滾產生錯誤的 Transact-SQL 語句,而事務將繼續進行處理。如果錯誤很嚴重,那麼即使 SET XACT_ABORT 為 OFF,也可能回滾整個事務。OFF 是默認設置。

編譯錯誤(如語法錯誤)不受 SET XACT_ABORT 的影響。

對於大多數 OLE DB 提供程序(包括 SQL Server),必須將隱式或顯示事務中的數據修改語句中的 XACT_ABORT 設置為 ON。唯一不需要該選項的情況是在提供程序支持嵌套事務時。有關詳細信息,請參閱 分布式查詢和分布式事務。

SET XACT_ABORT 的設置是在執行或運行時設置,而不是在分析時設置。

H. 什麼是sqlserver中的事務

如果我們要修改表中的某條記錄,可以用以下方法:
首先刪除原記錄,然後插入修改後的新記錄
這個過程中有2步
如果出現記錄刪除成功,但插入的時候因為某種原因導致失敗的話,就會出現數據丟失。
這個時候,就可以用事物來處理
把刪除和插入當成是一件事,必須是2步都成功,數據才發生改變。
否則若是出現刪除成功,而插入失敗的情況,希望將自動回滾,恢復為原始狀態。

I. sqlserver中事務的作用是什麼

sql server中事務的作用是如果任何一個語句操作失敗那麼整個操作就被失敗,以後操作就會回滾到操作前狀態,或者是上個節點。為了確保要麼執行,要麼不執行,就可以使用事務。是指訪問並可能更新資料庫中各種數據項的一個程序邏輯執行單元(unit)。

(9)csqlserver事務擴展閱讀:

事務通常由高級資料庫操縱語言或編程語言(如SQL,C++或Java)書寫的用戶程序的執行所引起,並用形如begin transaction和end transaction語句(或函數調用)來界定。事務由事務開始(begin transaction)和事務結束(end transaction)之間執行的全體操作組成。

一個事務的執行不能被其他事務干擾。即一個事務內部的操作及使用的數據對並發的其他事務是隔離的,並發執行的各個事務之間不能互相干擾。