سلام خدمت دوستان عزیز...از امروز می خوام آموزش sql server رو براتون قرار بدم اینجا
امیدوارم که براتون مفید واقع بشه و به دردتون بخوره.
در قسمت اول از آموزش sql server به معرفی آموزش اصول‎ transactions ‎در‎ SQL SERVER ‎ می پردازیم.


تراكنش ‏transactions)‎‏) به يك عمليات يا مجموعه اي از عملياتها ميگويند كه در يك مجموعه انجام شده و مسول انجام شدن ‏عملييات ها استفاده هستند. به همين خاطر قوانيني هستند كه بايد آنها را رعايت كرد. همچنين راهكارهايي براي استفاده بهينه از ‏transaction ‎‏ تعبيه شده است. ‏
اين قواعد زير مخفف ‏‎ ACID ‎تعريف ميشوند ‏
Atomicity (A)‎‏: چنانچه ‏transaction ‎‏ شامل مجموعه اي از عملياتها باشد همه آنها ميبايست كه اجرا شوند. در غيراين ‏صورت ‏‎,‎‏ حتي اگر يك عمليات اجرا نشود بقيه آنها نيز اجرا نخواهند شد.‏‎ ‎
Consistency (C)‎‏ : عمليات ها بايد همسان باشند‏‎ ‎
Isolation (I):‎‏ : زماني كه عمليات ها اجرا ميشوند ‏‎,‎‏ آنها ميبايست كه از يكديگر جدا باشند. اين به اين خاطر است كه از ‏مخلوط شدن آنها در يك ‏server‏ يا يك ‏database‏ جلوگيري شود.‏‎ ‎
Durability (D)‎‏ : هنگام اجرا كردن عملياتها ‏‎,‎‏ كامپيوتر تغييرات آنها را رصد ميكند. اگر اشكالي باعث توقف عملياتها شده ‏و كلمپيوتر‎ restart ‎‏ شود بعد ‏‎ ‎از ‏restart‏ شدن خودبه خود عمليات را ادامه ميدهد. بعد از اجرا شدن عمليات و اطمينان از ‏بي نقص بودن بايد آن را ‏save ‎‏ كرد و براي دفعات بعد به كار برد.‏‎ ‎
‎ ‎
شروع يك ‏transasction ‎
‎ ‎‏ قبل از ايجاد يك ‏transactions‏ ‏‎,‎‏ شما بياد عمليات را تعريف كنيد. براي مشخص كرد شروع يك ‏transactions‏ ‏‎,‎‏ قبل از اولين ‏عمليات ‏‎,‎‏ كلمه ي ‏BEGIN TRAN‏ يا ‏BEGIN TRANSACTION‏ را به همراه فرمول زير تايپ كنيد: ‏
کد:
BEGIN { TRAN | TRANSACTION } ‎
‎    [ { transaction_name | @tran_name_variable } ‎
‎      [ WITH MARK [ 'description' ] ] ‎
‎    ] ‎
‎[ ; ] ‎
‏ ‏
‎ ‎
عبارت را با ‏BEGIN TRAN‏ يا ‏BEGIN TRANSACTION‏ شروع كرده و سپس ميتوانيد به دلخواه ‏transaction_name‏ را قرار دهيد. اگر از عبارات متني استفاده ميكنيد ‏‎(char, nchar, varchar, or nvarchar‎‏ اسم ‏transaction ‎‏ را برا اساس آنها انتخاب كرده ايد ميتوانيد ‏transaction_name‏ را حذف كرده و از اسم متغير استفاده كند. ‏چنانچه مايل به شرح ‏transaction ‎‏ در ‏‎ log file ‎‏ هستيد ‏‎,‎‏ كلمه ي ‏WITH MARK ‎‏ را تايپ كرده و شرح را در فايل ‏بنويسيد. ‏
‎ ‎كد بين ‏BEGIN TRAN‏ يا ‏BEGIN TRANSACTION‏ قسمتي از ‏transaction ‎است ‏
پايان ‏transaction ‎

استفاده از ‏transaction ‎
‎ ‎بعد از تعريف عمليات ‏‎,‎‏ كه قسمتي از ‏transaction ‎‏ است‎,‎‏ موتور ‏database‏ ترتيب وار آنها را اجرا ميكند. شما بايد مكان پايان ‏transaction‏ ها رامشخص كنيد. براي يان كار ‏BEGIN TRAN‏ يا ‏BEGIN TRANSACTION‏ را تايپ كنيد : ‏
کد:
BEGIN TRAN Name or BEGIN TRANSACTION Name ‎
‎    Operations ‎
COMMIT TRAN Name or COMMIT TRANSACTION Name ‎
‎ ‎
مثال : ‏
‎ ‎
کد:
BEGIN TRAN Name or BEGIN TRANSACTION Name ‎
‎    Operations ‎
COMMIT TRAN Name or COMMIT TRANSACTION Name ‎
Consider the following example: ‎
‎ ‎
USE Exercise; ‎
Go
CREATETABLEAdministration.Employees
‎(‎
‎EmployeeNumbernvarchar(10),‎
‎EmployeeNamenvarchar(50),‎
‎DateHireddate,‎
‎HourlySalarymoney
‎);‎
GO
INSERTINTOAdministration.Employees
VALUES(N'593705',N'Frank Somah',N'20061004', 26.15),‎
‎      (N'720947',N'Paul Handsome',N'20000802', 36.05);‎
GO
INSERTINTOAdministration.Employees(EmployeeName,EmployeeNumber,DateHired)‎
VALUES(N'Clarice Simms',N'971403',N'20011112');‎
GO
BEGINTRANSACTIONAddEmployees
INSERTINTOAdministration.Employees
VALUES(N'595002',N'John Meah',N'20000212', 32.25);‎
GO
INSERTINTOAdministration.Employees
VALUES(N'928375',N'Chuck Stansil',N'20080628');‎
GO
INSERTINTOAdministration.Employees
VALUES(N'792764',N'Orlando Perez',N'20000616', 12.95);‎
GO
COMMITTRANSACTIONAddEmployees;‎
GO
INSERTINTOAdministration.Employees(EmployeeName,EmployeeNumber,‎
‎            HourlySalary,DateHired)‎
VALUES(N'Gina Palau',N'247903', 18.85,N'20080612');‎
GO
‎ ‎
ان كد از ‏database engine‏ درخواست ايجاد يك ‏table ‎‏ به نام ‏employee ‎‏ را در ‏Administration schema‏ ‏Exercise ‎database‏ ميكند. بعد از تشكيل ‏table ‎‏ ‏‎,‎‏ بايد اول يك ‏record‏ و سپس 2‏‎ ‎‏ ‏record‏ تشكيل دهد. سپس بياد يك ‏transaction ‎‏ ‏شامل 3 ‏‎ record ‎‏ را انجام دهد.‏