ผู้ดูแลฐานข้อมูล

ถามตอบสำหรับผู้เชี่ยวชาญด้านฐานข้อมูลที่ต้องการพัฒนาทักษะฐานข้อมูลและเรียนรู้จากผู้อื่นในชุมชน

1
Dynamic Port“ ไดนามิก” เมื่อใด
วันนี้ฉันมีการพูดคุยเกี่ยวDynamic Portsกับหนึ่งในเพื่อนร่วมงานของฉันและสามารถใช้ความช่วยเหลือบางอย่างเพื่ออธิบายวิธีการทำงานของพวกเขา คำถามแรก:หากการIPALL TCP Dynmaic Portsตั้งค่าเป็นหมายเลขเฉพาะ (พูด 1971) นั่นหมายความว่าคุณมีพอร์ตคงที่เป็น 1971 หรือพอร์ตแบบไดนามิกที่ปัจจุบันคือ 1971 และอาจมีการเปลี่ยนแปลงในบางจุดในอนาคต คำถามที่สอง:นี่คือสิ่งที่ฉันอยากรู้มากที่สุด เรามีอินสแตนซ์ที่มีพอร์ตเดียวกัน (ค่าในการIPALL TCP Dynmaic Portsตั้งค่า) เป็นเวลาหลายปีผ่านการรีสตาร์ทจำนวนมาก สาเหตุใดที่ทำให้ไดนามิกพอร์ตเปลี่ยนหลังจากที่รีสตาร์ทอินสแตนซ์แล้วจริง ๆ ?

1
วิธีการคำนวณ / จัดเก็บ 10 อันดับแรกในรูปแบบตาราง?
เราเพิ่งสร้างโมเดลตาราง SSAS เพื่อให้ผู้ใช้ของเราสามารถเข้าถึงได้ผ่าน PowerView เรามีมาตรการหนึ่งในตารางข้อเท็จจริงของเราเพื่อรับTotalActiveItemsสูตร: TotalActive:=COUNTAX(FILTER('Stats', ISBLANK([DeactDate]) = TRUE), 1) นี้ทำงานได้ดีตามความจำเป็น แต่ตอนนี้เรามีคำขอที่จะได้รับ Top 10 TotalActiveผู้ปกครองในแต่ละเดือนในส่วน สำหรับการอ้างอิงนี่เป็นส่วนหนึ่งของแบบจำลองของเรา: create table factStats ( StatsID INT IDENTITY NOT NULL PRIMARY KEY, DevID INT NOT NULL, DeactDate DATETIME NULL, BillDateTimeID BIGINT NOT NULL, CustID INT NOT NULL, ParentID INT NOT NULL ); create table dimCust …

6
การลดขนาดไฟล์บันทึกไม่ลดขนาด
ฉันมีฐานข้อมูลที่มีไฟล์ข้อมูล 350 MB (.mdf) และไฟล์บันทึก 4.9 GB (.ldf) FULLรุ่นการกู้คืนจะถูกกำหนดให้ เมื่อฉันพยายามที่จะลดขนาดไฟล์บันทึกก็ไม่หดตัว ฉันรู้ว่าการลดขนาดฐานข้อมูลไม่ดีและไม่ควรทำ แต่ก็ยังฉันพยายามทำเพื่อลดขนาดไฟล์บันทึก เมื่อฉันวิ่ง DBCC SQLPerf(logspace) ฉันพบว่าขนาดบันทึกเป็น4932 MBและพื้นที่บันทึกที่ใช้คือ98.76% ! จากนั้นฉันลองคำสั่งนี้ USE <databasename>; DBCC loginfo; ตอนนี้ VLF เกือบทั้งหมดเป็น "สถานะ 2" ซึ่งหมายความว่าทั้งหมดใช้งานอยู่ ฉันพยายามที่จะสำรองข้อมูลบันทึกแล้วลดขนาดไฟล์บันทึก การลดขนาดไม่ลดขนาด ฉันเปลี่ยนรูปแบบการกู้คืนSIMPLEและลองลดขนาดอีกครั้ง แต่สิ่งนี้ก็ไม่ได้ช่วย ฉันตรวจสอบธุรกรรมที่เปิดอยู่ DBCC opentran (database); และพบว่าไม่มีธุรกรรมใดเปิดอยู่ อะไรทำให้ฉันไม่สามารถย่อขนาดไฟล์ล็อกได้ ฉันจะแก้ปัญหานี้ได้อย่างไร

1
“ No Join Predicate” หมายถึงอะไรใน SQL Server
MSDN "ไม่มีกิจกรรมการเข้าร่วมเพรดิเคตคลาส " บอกว่า " แสดงว่ามีการดำเนินการค้นหาที่ไม่มีภาคแสดงการเข้าร่วม " แต่น่าเสียดายที่มันไม่ง่ายอย่างที่คิด ตัวอย่างเช่นสถานการณ์ที่ง่ายมาก: create table #temp1(i int); create table #temp2(i int); Select * from #temp1, #temp2 option (recompile); ไม่มีข้อมูลในตารางไม่มีคำเตือนอย่างใดอย่างหนึ่งถึงแม้ว่าจะเห็นได้ชัดว่าไม่มีการเข้าร่วมเพรดิเคต ถ้าฉันดูเอกสารประกอบสำหรับ SQL Server 2005 (ลิงก์เดียวกันเพียงแค่รุ่นเซิร์ฟเวอร์อื่น) จะมีประโยคพิเศษ: " เหตุการณ์นี้เกิดขึ้นเฉพาะเมื่อทั้งสองด้านของการเข้าร่วมกลับมามากกว่าหนึ่งแถว " สิ่งนี้จะทำให้ ความรู้สึกที่สมบูรณ์แบบในสถานการณ์ก่อนหน้า ไม่มีข้อมูลดังนั้นทั้งสองฝ่ายจึงคืนค่า 0 แถวและไม่มีการเตือน แทรกแถวรับคำเตือน โอเคดี. แต่สำหรับสถานการณ์ที่สับสนต่อไปฉันจะแทรกค่าเดียวกันในทั้งสองตาราง: Insert into #temp1 (i) values (1) Insert into …

1
ลักษณะการทำงานของรั้วการปรับให้เหมาะสมของ CTE (ด้วยแบบสอบถาม) ระบุไว้ในมาตรฐาน SQL: 2008 หรือไม่ ถ้าเป็นเช่นนั้นอยู่ที่ไหน
ฉันเห็นการอ้างอิงบ่อย ๆ กับWITHแบบสอบถาม (นิพจน์ตารางทั่วไปหรือ CTE) ซึ่งทำหน้าที่เป็นรั้วการเพิ่มประสิทธิภาพซึ่งเซิร์ฟเวอร์ไม่ได้รับอนุญาตให้ส่งตัวกรองลงในการสืบค้น CTE ดึงการแสดงออกทั่วไปออกมาจาก CTE เป็นต้นมันมักอ้างว่า เพื่อให้เป็นพฤติกรรมที่กำหนดโดยมาตรฐาน SQL CTEs มีแน่นอนรั้วการเพิ่มประสิทธิภาพใน PostgreSQL ... แต่นี้ต้องตามมาตรฐานหรือรายละเอียดการดำเนินงานจริงเพียง? ตัวอย่างเช่นการโพสต์รายชื่อผู้รับจดหมายเหล่านี้อ้างสิทธิ์หรือแนะนำว่าเป็นมาตรฐาน: http://www.digipedia.pl/usenet/thread/11566/101385/ หลังจากพูดถึงมันในความคิดเห็นฉันถูกถามว่ามีการระบุไว้ที่ไหนและหลังจากดูที่ร่างฉบับเดียวของ SQL: 2008 ฉันสามารถเข้าถึงฉันไม่ได้โชคดีมากที่ได้พบมัน ฉันยังไม่ได้ศึกษามาตรฐานอย่างเข้มข้นดังนั้นฉันหวังว่าจะได้รับคำแนะนำจากใครบางคนที่: การฟันดาบการเพิ่มประสิทธิภาพของ CTEs ใน PostgreSQL นั้นเป็นสิ่งจำเป็นตามมาตรฐานหรือไม่ และถ้าเป็นเช่นนั้นมันอยู่ที่ไหนระบุ? หรือข้อความที่อยู่ในรายชื่อผู้รับจดหมายของ Pg มีข้อผิดพลาดหรือไม่? ดูเพิ่มเติมที่รั้วการปรับให้เหมาะสมเธรดCTE ในรายการสิ่งที่ต้องทำ? .

4
ฉันจะตรวจสอบว่าฉันใช้ SSL เพื่อเชื่อมต่อกับ mysql ได้อย่างไร
ฉันได้กำหนดค่าเซิร์ฟเวอร์ของฉันให้อนุญาต SSL และมีการปรับเปลี่ยนไคลเอนต์ของฉัน ~ / .my.cnf ดังนั้นฉันจึงใช้ SSL: [client] ssl ssl-cipher=DHE-RSA-AES256-SHA ssl-ca=~/certs/ca-cert.pem เมื่อฉันเข้าสู่ระบบกับลูกค้าของฉันและดูสถานะมันจะแสดงรายการตัวเลขในบรรทัด SSL: mysql> \s -------------- SSL: Cipher in use is DHE-RSA-AES256-SHA โดยไม่ต้องติดตั้งอะไรอย่าง wireshark เพื่อตรวจสอบว่าการเชื่อมต่อนั้นปลอดภัยฉันจะสมมติว่าฉันกำลังเชื่อมต่อผ่าน SSL โดยใช้ข้อมูลนี้ได้หรือไม่?
23 mysql  ssl 

1
ฉันจะบังคับให้ SQL Server Management Studio อัปเดตแคช IntelliSense ได้อย่างไร
IntelliSense ใน SSMS ไม่ได้รับการอัปเดตเว้นแต่ฉันจะปิดและรีสตาร์ท ฉันลองตัดการเชื่อมต่อจากเซิร์ฟเวอร์และเชื่อมต่อใหม่ในขณะที่เซสชัน SSMS ทำงานอยู่ แต่นั่นไม่ทำงาน ขั้นตอนในการสร้างใหม่: สร้างตาราง เลือกบางอย่างจากตารางนั้น SSMS แสดงเส้นสีแดงไก่เขี่ยภายใต้มันด้วยเคล็ดลับ "ชื่อวัตถุที่ไม่ถูกต้อง" ดำเนินการแบบสอบถาม ฉันจะบังคับให้ IntelliSense อัปเดตโดยไม่ต้องเริ่ม SSMS ใหม่ได้อย่างไร

1
ขนาดธุรกรรม MySQL มีขนาดใหญ่เกินไป?
ฉันมีกระบวนการนำเข้าที่ทำงานบ่อยมากและฉันต้องการให้เป็นข้อตกลง 'all or nothing' หรือ aka: ธุรกรรม มีหลายด้านและการนำเข้าอาจให้ผลที่ใดก็ได้ระหว่างระเบียน 100k-1mil + นี่เท่ากับเพย์โหลดตั้งแต่หลาย MB ไปจนถึงสองสามร้อย MB ของข้อมูล ฉันรู้ว่าตารางชั่วคราวเป็นอีกตัวเลือกหนึ่ง - แต่วิธีนี้ดูมีประโยชน์มาก มีคำเตือนใด ๆ ที่ควรระวังเกี่ยวกับการฝึกฝนประเภทนี้ด้วยการจัดการข้อมูลจำนวนมากระหว่างการกระทำหรือไม่? (ด้านนอกของโหลดการเขียน / การจัดทำดัชนีโดยทั่วไปจะเกิดขึ้นเมื่อมีการยืนยัน)

1
อัปเกรดฐานข้อมูล SQL Server 2000 เป็น 2008 R2 และเปิดใช้งานคุณลักษณะใหม่
ฉันเพิ่งอัพเกรดฐานข้อมูล SQL Server 2000 เป็น 2008 R2 สิ่งที่ฉันทำคือ: ปิดบริการ SQL Server 2000 (ด่วน) บนเครื่องเก่า ย้าย datafiles ( mydatabase.mdfและmydatabase.ldf ) ไปยังเครื่องใหม่ เรียกใช้ SQL Server Management Studio 2008 เชื่อมต่อกับโปรแกรมฐานข้อมูลท้องถิ่น แนบดาต้าไฟล์เข้ากับฐานข้อมูล เปลี่ยนระดับความเข้ากันได้ของฐานข้อมูลเป็น SQL 2008 (100) คำถาม: ฉันต้องทำอะไรอีกบ้างเพื่อให้การย้ายข้อมูลเสร็จสมบูรณ์ ฉันต้องการ: ใช้คุณสมบัติใหม่เช่นการตรวจสอบและการกู้คืนเต็มรูปแบบ ทำฐานข้อมูลนี้ให้ตรงตามที่สร้างใน SQL 2008 R2 ทำให้ฐานข้อมูลนี้สามารถใช้งานร่วมกันได้อย่างถูกต้องและสมบูรณ์แบบสำหรับเครื่องมือฐานข้อมูล SQL 2008 R2 ใหม่ กล่าวอีกนัยหนึ่ง:ฉันแค่ต้องการทราบวิธีการแปลงฐานข้อมูล SQL 2000 เก่าอย่างถูกต้องและสมบูรณ์ให้เป็นฐานข้อมูล 2008 …

8
การเข้าสู่ระบบล้มเหลวสำหรับผู้ใช้ - ข้อผิดพลาด 18456 - ความรุนแรง 14, สถานะ 38
ข้อความที่ SQL Server Log Viewer แสดง: Login failed for user [User] Error: 18456, Severity: 14, State 38 ความหมายจริง: Failed to open the explicitly specified database คำถามของฉัน: มีรายการบางส่วนของรูปแบบทั้งหมดของข้อผิดพลาด 18456 (การเข้าสู่ระบบล้มเหลว) สำหรับแต่ละชุดของความรุนแรงและสถานะพร้อมข้อความคำอธิบายที่เป็นประโยชน์หรือไม่ ฉันมี Google แต่ไม่พบสิ่งใดนอกจากชุดค่าผสมเฉพาะ

1
มีความเสี่ยงใด ๆ หรือไม่ในการให้สิทธิ์ผู้ใช้ SQL Server SHOWPLAN
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน Exchange Administrators Stack Exchange อพยพ 7 ปีที่ผ่านมา ฉันกำลังปรับแต่งประสิทธิภาพบางอย่างบนฐานข้อมูล SQL Server 2008 ขนาดใหญ่และกลุ่มไอทีไม่ต้องการให้สิทธิ์ SHOWPLAN ในอดีต "แสดงแผนการดำเนินการ" เป็นวิธีที่มีประสิทธิภาพที่สุดในการทำความเข้าใจประสิทธิภาพของคำสั่งและขั้นตอนต่างๆ มีความเสี่ยงอะไรบ้างในการให้สิทธิ์นี้ มีเหตุผลที่ถูกต้องสำหรับข้อ จำกัด นี้ในสำเนาการพัฒนาของฐานข้อมูลหรือไม่? หมายเหตุ: กลุ่ม SQL IT นี้มีฐานข้อมูลมากกว่า 200 รายการภายใต้อินสแตนซ์ SQL Server เดียว ขอบคุณ คำตอบ : ฉันกำลังขาดการตอบสนองหมายความว่าไม่มีความเสี่ยงด้านความปลอดภัยที่สำคัญนอกเหนือจากที่ระบุไว้ด้านล่าง โดยทั่วไปการ จำกัด สิ่งนี้ไว้ในฐานข้อมูลการพัฒนานั้นเป็นการต่อต้าน ฉันจะอัปเดตสิ่งนี้หากมีคำตอบที่ดีกว่า ขอบคุณสำหรับความคิดเห็นของคุณ!

3
แสดงให้เห็นถึงการไม่ใช้ (nolock) คำใบ้ในทุกแบบสอบถาม
คุณเคยต้องพิสูจน์ว่าไม่ได้ใช้คำใบ้แบบสอบถามหรือไม่? ฉันเห็นWITH (NOLOCK)ในทุกคำถามที่พบเซิร์ฟเวอร์ไม่ว่างมาก มันเป็นประเด็นที่นักพัฒนาคิดว่ามันควรจะเป็นโดยค่าเริ่มต้นเพราะพวกเขาเกลียดที่จะเห็นมันในโค้ดของพวกเขาหลายพันครั้ง ฉันพยายามอธิบายว่าการอนุญาตให้อ่านสกปรกและพวกเขาจะจบลงด้วยข้อมูลที่ไม่ดีในที่สุด แต่พวกเขาเชื่อว่าการแลกเปลี่ยนประสิทธิภาพนั้นคุ้มค่า (ฐานข้อมูลของพวกเขายุ่งเหยิงไม่น่าแปลกใจที่พวกเขามีปัญหาเรื่องประสิทธิภาพ) หากคุณมีตัวอย่างที่ชัดเจนเกี่ยวกับวิธีนำเสนอกรณีต่อต้านการใช้NOLOCKคำใบ้ในทางที่ผิดนี้จะได้รับการชื่นชม

3
การขยายตามแนวนอนหมายถึงอะไร
ในบริบทของฐานข้อมูลฉันเจอกับความสามารถในการขยายแนวนอนซึ่งเป็นหนึ่งในข้อดีของฐานข้อมูล NOSQL คำนี้หมายถึงอะไร CouchDB บนวิกิพีเดีย NoSQL บน Wikipedia มันจะเปรียบเทียบกับการขยายในแนวตั้งได้อย่างไร

8
ตัวเลือกใด ๆ สำหรับ mysqldump เพื่อละเว้นฐานข้อมูลสำหรับการสำรองข้อมูลหรือไม่
เรามี 40 ฐานข้อมูลในเซิร์ฟเวอร์ของเรา เราต้องการสำรองฐานข้อมูล 36 ไฟล์โดยใช้ mysqldump ฉันจะเพิกเฉยฐานข้อมูล 4 ที่เหลือในคำสั่ง mysqldump ได้อย่างไร มีตัวเลือกสำหรับ mysqldump ที่จะไม่สนใจฐานข้อมูลสำรองใน MySQL หรือไม่? ฉันรู้ว่าคำสั่ง mysqldump ทั่วไป แต่มันมีความยาวมาก ฉันต้องการที่จะเพิกเฉยฐานข้อมูลเพียง 4 และต้องการสำรองข้อมูล dbs ที่เหลืออยู่

6
ต้องการหนังสือออกแบบฐานข้อมูล [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Exchange Administrators Stack Exchange ปิดเมื่อปีที่แล้ว ล็อคแล้ว คำถามและคำตอบนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันกำลังออกแบบฐานข้อมูลและมีความสัมพันธ์มากมายระหว่างตารางของฉันและฉันต้องการหนังสือที่สอนการออกแบบฐานข้อมูลได้เป็นอย่างดีฉันกำลังมองหาหนังสือที่ความสัมพันธ์ของตารางเรียบง่ายและซับซ้อนได้รับการครอบคลุมอย่างกว้างขวางและอาจเป็นกรณีศึกษาในหนังสือ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.