Get Adobe Flash player

SQL

แก้ colunm ที่เป็น Identity ให้สามารถ insert number แทรกได้

ขั้นตอนด้านบนให้ทำใน query command

sql

Restore Database SQL Server 2012,2016

เนื่องจากการสร้าง database ชื่อใหม่และทำการ restore จาก db หนึ่งไปยัง db หนึง เมื่อทำการ restore db จะพบว่ามันแจ้งว่าทำไม่ได้ เพราะมีการใช้งานอยู่ดังนั้น เราจึงต้องใช้คำสั่ง sql ในการ restore แทน (ประหนึ่งการ copy และ replace ไปยัง db ใหม่ที่สร้าง) ดังนี้

สังเกตุว่าเมื่อสร้าง db2 แล้วต้องการ copy db1 มาทับจะอ้างว่าเอาไฟล์จาก db1 และมีการย้าย mdf และ log ของ db1 ไปทับ db2.mdf และ db2.ldf

Insert ข้อมูลและส่งค่า Primary key กลับมา

Insert ข้อมูลและส่งค่า Primarykey ที่พึ่ง Insert ล่าสุดกลับมาเพื่อนำไปใช้ต่อ โดยใช้ SELECT CAST(scope_identity() AS int ช่วย

ตัวอย่างโค้ด

 

Error: The wait operation timed out เวลา Query ด้วย SQL Command

Error: The wait operation timed out เวลา Query ด้วย SQL Command แก้โดยเพิ่ม Timeout ตอนสั่ง Query เพิ่ม

Timeout1

Timeout2

 

 

การสร้าง Store Procedure ใน MS Sql Server และเขียนโค้ดใช้งานด้วย ASP.NET C#

วิธีการทำเริ่มจากฝั่ง Database จะต้องสร้าง Database และ Table ขึ้นมา

store_procedure1หลังจากนั้นให้เปิดหน้า Query Windows ขึ้นมาเพื่อเขียนคำสั่งสร้าง Store Procedure และกำหนด Parameter กับเงื่อนไขที่จะให้ Store Procedure ทำงาน

 store_procedure2

สามารถ Test Store Procedure ได้ด้วยคำสั่ง

 

หลังจากนั้นให้ไปเขียนโค้ดในฝั่งเว็บเพื่อทำการเรียกใช้งาน Store Procedure ที่สร้างขึ้นมา

store_procedure3หลังจากนั้นก็ให้กดที่ปุ่ม Submit เพื่อทำการเขียนโค้ดในส่วนของ Code Behide เพื่อทำการรับค่าจาก TextBox ID และ Password เพื่อทำการส่งค่าไปให้ Store Procedure ทำงาน

จากโค้ดด้านบน

ในส่วนนี้จะเป็นการเรียกใช้ Store Procedure ที่สร้างขึ้น

SqlCommand cmd = new SqlCommand(
“TEST_STORE_INSERT”, conn);

 cmd.CommandType = CommandType.StoredProcedure;

 

ส่วนต่อมาจะเป็นการประกาศ Parameter ให้กับ Store Procedure และทำการส่งค่าจาก TextBox ให้กับ Parameter ที่สร้างขึ้น

cmd.Parameters.Add(“@ID”, SqlDbType.NVarChar).Value = ID.Text;
cmd.Parameters.Add(“@Password”, SqlDbType.NVarChar).Value = Password.Text;

ส่วนขั้นตอนการติดต่อกับ Database เนื่องจากเครื่องที่ใช้ทดสอบมี Web Server กับ Database Server ไว้ที่เดียวกันเลยใช้ Connection String แบบอาศัยการเชื่อมต่อภายใน Local โดยใช้ User Windows ในการเชื่อมต่อสังเกตุได้จาก คำสั่งนี้

conn = new
SqlConnection(“Server=(local);DataBase=test;Integrated Security=SSPI”);

(ถ้าจะเชื่อมต่อด้วย User จาก Sql Server จะต้องใช้ Username, Password จะต้องแก้ไขในส่วนนี้ )

 

SELECT INTO ทำการ Copy Table จาก Oracle ย้ายไปยัง MSSQL

จากบทความ Connecting to Oracle from SQL Server โดยใช้ Link Server เมื่อเราอยากทำการ copy table จาก oracle ไปยัง MSSQL สามารถทำได้ง่ายได้เพียงแค่ใช้ query ธรรมดาดังนี้

 

sql into1

sql into2

sql into3

open port on fire wall for sql server 2012 & windows server 2012

ถ้าลง windows server 2012 กับ sql server อาจจะมีปัญหาการเชื่อมต่อฐานข้อมูลจากเครื่องอื่นที่ไม่ใช่ localhost มันจะติด advance firewall เราต้องทำการเปิด port TCP : 1433 ในส่วนของ Inbound Rule และทำการเปิด port UDP : 1434 ในส่วนของ Outbound Rule ด้วย วิธีทำดังนี้ เปิด windows advance firewall ขึ้นมาก่อน

inbound_rule

inbound_rule2

inbound_rule3

inbound_rule4

inbound_rule5

inbound_rule6

ในขั้นตอนของ Outbound rule แค่เปลียน TCP เป็น UDP แล้วเปลี่ยน port จาก 1433 เป็น 1434

Fix error restore MSSQL Server 2008 to 2012

ถ้าเลือก restore database จาก 2008 ไปยัง 2012 จะพบปัญหาเออเรอร์ ถึงแม้จะเลือกจากโหมดกราฟฟิกเป็น Overwrite the existing database (With replace) แล้วก็ยังไม่หายดังรูป

restore_sql2008_to_2012_Error
วิธีแก้ต้องทำการ restore ด้วย command sql ให้เปิดหน้า sqlquery code ใน sql manager ขึ้นมา หลังจากนั้นให้ใส่โค้ดดังตัวอย่างแล้วทำการ execute

 

Query data from different Server with Link Server in SQL Server 2008

เราสามารถคิวรี่ข้อมูลจากเซิฟเวอรต่างๆมาไว้รวมกันได้โดยสามารถใช้ tool link server ใน sql management studio ช่วยได้วิธีการทำ

 




สามารถทดสอบการใช้คิวรี่โดยดังนี้

 

SQL SELECT CASE

เราสามารถใช้คำสั่ง CASE WHEN ELSE กำหนดเงื่อนไขให้กับ Field บาง Field ให้มีค่าตามที่ต้องการได้เช่นตัวอย่างด้านล่าง

 

April 2021
M T W T F S S
« Jul    
 1234
567891011
12131415161718
19202122232425
2627282930  

Recent Comments