π ΠΠ°ΠΊ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΏΠ»Π°Π½ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ MS SQL Π² ΡΠ°ΠΉΠ»?
ΠΠ°ΠΊ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΏΠ»Π°Π½ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ MS SQL Π² ΡΠ°ΠΉΠ»?
Π§ΡΠΎΠ±Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΏΠ»Π°Π½ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ MS SQL Π² ΡΠ°ΠΉΠ», ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ sp_create_plan_guide. ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠ»Π°Π½-Π³Π°ΠΉΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΏΠ»Π°Π½Π΅ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
-- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ»Π°Π½-Π³Π°ΠΉΠ΄Π°
EXEC sp_create_plan_guide
@name = N'PlanGuideName',
@stmt = N'SELECT * FROM TableName',
@type = N'SQL',
@module_or_batch = NULL,
@params = N'@parameter_name INT',
@hints = N'OPTION (QUERYTRACEON 8649)';
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΠ»Π°Π½-Π³Π°ΠΉΠ΄ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ "PlanGuideName", ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ SQL Π·Π°ΠΏΡΠΎΡΡ "SELECT * FROM TableName". Π£ΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ @hints, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠΏΡΠΈΡ QUERYTRACEON 8649, ΡΡΠΎΠ±Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΏΠ»Π°Π½ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠ»Π°Π½-Π³Π°ΠΉΠ΄Π°, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ sp_control_plan_guide Π΄Π»Ρ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ ΠΈΠ»ΠΈ Π΄Π΅Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ ΠΏΠ»Π°Π½Π° ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ.
-- ΠΠΊΡΠΈΠ²Π°ΡΠΈΡ ΠΏΠ»Π°Π½-Π³Π°ΠΉΠ΄Π°
EXEC sp_control_plan_guide
@name = N'PlanGuideName',
@operation = N'ENABLE';
-- ΠΠ΅Π°ΠΊΡΠΈΠ²Π°ΡΠΈΡ ΠΏΠ»Π°Π½-Π³Π°ΠΉΠ΄Π°
EXEC sp_control_plan_guide
@name = N'PlanGuideName',
@operation = N'DISABLE';
ΠΡΠΈ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ ΠΏΠ»Π°Π½Π°-Π³Π°ΠΉΠ΄Π°, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΏΠ»Π°Π½ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡ SQL Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ.
ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π²Π°ΠΌ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ!
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΡΠΈΠ²Π΅Ρ ΡΡΡΠ΄Π΅Π½Ρ!
Π Π°Π΄ Π²ΠΈΠ΄Π΅ΡΡ ΡΠ΅Π±Ρ Π·Π΄Π΅ΡΡ! Π‘Π΅Π³ΠΎΠ΄Π½Ρ Ρ ΠΏΠΎΠΌΠΎΠ³Ρ ΡΠ΅Π±Π΅ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ, ΠΊΠ°ΠΊ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΏΠ»Π°Π½ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ Π² MS SQL Π² ΡΠ°ΠΉΠ». ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠ»Π°Π½ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΎΠ½ Π½ΡΠΆΠ΅Π½.
ΠΠ»Π°Π½ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ Π² MS SQL - ΡΡΠΎ Π½Π°Π±ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ . ΠΡΠΎΡ ΠΏΠ»Π°Π½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΏΡΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . ΠΠ°ΠΏΡΠΎΡΡ Ρ Ρ ΠΎΡΠΎΡΠΎ ΡΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΏΠ»Π°Π½ΠΎΠΌ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π±ΡΡΡΡΠ΅Π΅ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ.
Π‘ΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Π½Π° ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ Π² ΡΠ°ΠΉΠ» ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ, Π΄Π΅Π»Π°ΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΠΈΠΌ Ρ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ Π΄Π»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ.
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ Π²Π°ΠΆΠ½ΠΎΡΡΡ ΠΏΠ»Π°Π½Π° ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΡΠΈΡΠΈΠ½Ρ Π΅Π³ΠΎ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π°, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠ΅, ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π² ΡΠ°ΠΉΠ» Π² MS SQL.
ΠΡΠΈΠΌΠ΅Ρ 1: ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ SQL Server Management Studio (SSMS)
SSMS - ΡΡΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΠ΅Π΄Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ MS SQL. ΠΠ½Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΠ»Π°Π½Π° ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ Π² ΡΠ°ΠΉΠ».
- ΠΡΠΊΡΠΎΠΉ SSMS ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ , Ρ ΠΊΠΎΡΠΎΡΡΠΌ ΡΡ Ρ ΠΎΡΠ΅ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
- ΠΡΠ±Π΅ΡΠΈ Π½ΡΠΆΠ½ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π² Object Explorer (ΠΎΠ±ΠΎΠ·ΡΠ΅Π²Π°ΡΠ΅Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²).
- ΠΠ°ΠΆΠΌΠΈ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Π½Π° Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ ΠΈ Π²ΡΠ±Π΅ΡΠΈ "New Query" (ΠΠΎΠ²ΡΠΉ Π·Π°ΠΏΡΠΎΡ).
- Π Π½ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Π½Π°ΠΏΠΈΡΠΈ Π·Π°ΠΏΡΠΎΡ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Ρ ΠΎΡΠ΅ΡΡ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΏΠ»Π°Π½ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ.
- ΠΠ°ΠΆΠΌΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ "Include Actual Execution Plan" (ΠΠΊΠ»ΡΡΠΈΡΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠ»Π°Π½ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ) Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ².
- ΠΡΠΏΠΎΠ»Π½ΠΈ Π·Π°ΠΏΡΠΎΡ, Π½Π°ΠΆΠ°Π² Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ "Execute" (ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ) ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡ Ctrl+Shift+E.
- ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ° ΡΡ ΡΠ²ΠΈΠ΄ΠΈΡΡ ΡΡΠΈ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ², Π½Π°ΠΆΠΌΠΈ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡ "Execution Plan" (ΠΠ»Π°Π½ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ).
- ΠΠ°ΠΆΠΌΠΈ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Π½Π° ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠ»Π°Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ Π²ΡΠ±Π΅ΡΠΈ "Save Execution Plan As" (Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΏΠ»Π°Π½ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠ°ΠΊ).
- ΠΡΠ±Π΅ΡΠΈ ΠΌΠ΅ΡΡΠΎ ΠΈ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°, ΠΊΡΠ΄Π° Ρ ΠΎΡΠ΅ΡΡ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΏΠ»Π°Π½ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ, ΠΈ Π½Π°ΠΆΠΌΠΈ "Save" (Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΡ).
- Π’Π΅ΠΏΠ΅ΡΡ Ρ ΡΠ΅Π±Ρ Π΅ΡΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½Π½ΡΠΉ ΠΏΠ»Π°Π½ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ Π² ΡΠ°ΠΉΠ»Π΅!
ΠΡΠΈΠΌΠ΅Ρ 2: ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ PowerShell
PowerShell - ΡΡΠΎ ΡΡΠ΅Π½Π°ΡΠ½ΡΠΉ ΡΠ·ΡΠΊ ΠΈ ΡΡΠ΅Π΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ Π·Π°Π΄Π°Ρ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ Windows. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ PowerShell Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΠ»Π°Π½Π° ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ Π² ΡΠ°ΠΉΠ».
$connectionString = "Data Source=ΠΈΠΌΡ_ΡΠ΅ΡΠ²Π΅ΡΠ°;Initial Catalog=ΠΈΠΌΡ_Π±Π°Π·Ρ_Π΄Π°Π½Π½ΡΡ
;Integrated Security=SSPI;"
$query = "Π²Π°Ρ_Π·Π°ΠΏΡΠΎΡ"
$connection = New-Object System.Data.SqlClient.SqlConnection($connectionString)
$command = New-Object System.Data.SqlClient.SqlCommand($query, $connection)
$connection.Open()
$reader = $command.ExecuteReader([System.Data.CommandBehavior]::Default)
$reader.GetExecutionPlanXml() | Out-File -FilePath "ΠΏΡΡΡ_ΠΊ_ΡΠ°ΠΉΠ»Ρ"
$reader.Close()
$connection.Close()
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ PowerShell Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ° ΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΠ»Π°Π½Π° ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ Π² ΡΠ°ΠΉΠ». ΠΠ°ΠΌΠ΅Π½ΠΈ "ΠΈΠΌΡ_ΡΠ΅ΡΠ²Π΅ΡΠ°", "ΠΈΠΌΡ_Π±Π°Π·Ρ_Π΄Π°Π½Π½ΡΡ ", "Π²Π°Ρ_Π·Π°ΠΏΡΠΎΡ" ΠΈ "ΠΏΡΡΡ_ΠΊ_ΡΠ°ΠΉΠ»Ρ" Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΡΠ²ΠΎΠ΅ΠΉ ΡΡΠ΅Π΄Π΅.
ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π°Π²Π΅ΡΡΠΈΡΡΡ, Ρ ΡΠ΅Π±Ρ Π±ΡΠ΄Π΅Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½Π½ΡΠΉ ΠΏΠ»Π°Π½ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π’Π΅ΠΏΠ΅ΡΡ ΡΡ Π·Π½Π°Π΅ΡΡ, ΠΊΠ°ΠΊ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΏΠ»Π°Π½ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ Π² ΡΠ°ΠΉΠ» Π² MS SQL. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉ ΡΡΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ Π² ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅, ΡΡΠΎΠ±Ρ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ²ΠΎΠ΅ΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . Π£Π΄Π°ΡΠΈ Π² ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ!
ΠΡΠ»ΠΈ Ρ ΡΠ΅Π±Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡ Π²ΠΎΠΏΡΠΎΡΡ ΠΈΠ»ΠΈ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΏΠΎΠΌΠΎΡΡ - ΠΎΠ±ΡΠ°ΡΠΈΡΡ ΠΊΠΎ ΠΌΠ½Π΅. Π― Π²ΡΠ΅Π³Π΄Π° Π³ΠΎΡΠΎΠ² ΠΏΠΎΠΌΠΎΡΡ!