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

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

3
SQL Server แสดงฐานข้อมูลในการกู้คืน
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน Exchange Administrators Stack Exchange อพยพ 7 ปีที่ผ่านมา วันนี้หลังจากไฟฟ้าขัดข้องหนึ่งฐานข้อมูล (พร้อมการกู้คืน: เต็ม) แสดง "In Recovery" ใน SSMS ดังนั้น: myDatabase (ในการกู้คืน) (สถานะฐานข้อมูล: การกู้คืน, ปิดเครื่อง) หลังจากเสร็จสิ้นกระบวนการ "กู้คืน" ฐานข้อมูลจะแสดงชื่อ myDatabase โดยไม่มี "(กำลังกู้คืน)" ฉันคิดว่าปัญหาได้รับการแก้ไข แต่ไม่ใช่ เมื่อฉันเริ่มต้นแอปพลิเคชันที่ใช้ฐานข้อมูลนั้นข้อความพิเศษ "(กำลังกู้คืน)" จะปรากฏขึ้นอีกครั้งถัดจากชื่อฐานข้อมูลของฉัน ฉันรอจนกระทั่ง "กระบวนการกู้คืน" เสร็จสิ้นจากนั้นจึงเอาฐานข้อมูลออฟไลน์และนำกลับมาออนไลน์ ฉันรีสตาร์ทเซิร์ฟเวอร์รีสตาร์ทคอมพิวเตอร์และเมื่อแอปพลิเคชันของฉันทำงานข้อความพิเศษจะปรากฏขึ้นอีกครั้ง ใน SQL Server บันทึกข้อความ "เริ่มต้นฐานข้อมูล 'myDatabase'" ปรากฏขึ้นสองสามครั้ง ดูเหมือนว่าฐานข้อมูลทำงานได้เพราะฉันสามารถแทรกข้อมูลได้ แต่สถานะกำลังแสดงให้เห็นว่ามีบางสิ่งเกิดขึ้น บันทึกเซิร์ฟเวอร์ไม่แสดงสิ่งที่น่าสนใจ …

3
ค้นหาว่าคิวรีใดก่อให้เกิดปริมาณการรับส่งข้อมูลเครือข่ายมากที่สุด
บนเซิร์ฟเวอร์ SQL ที่ใช้งานจริงฉันเห็นหนทางอันมหาศาลในการรับส่งข้อมูล มากถึง 200Mbit / s ซึ่งเป็นสาเหตุให้ NETWORK IO รอซึ่งจะทำให้หมดเวลาของแบบสอบถาม ฉันจะทราบได้อย่างไรว่าข้อความค้นหาใดที่ส่งคืนชุดผลลัพธ์ขนาดใหญ่
23 sql-server 

4
เวิร์กโฟลว์ของคุณในการวางแผนการย้ายข้อมูลเป็นอย่างไร
หลายครั้งที่ฉันถูกนำเข้ามาในตอนท้ายของความพยายามในการพัฒนาซอฟต์แวร์และได้รับการบอกบางอย่างเช่น"โอเคเรามีรหัสใหม่ทั้งหมดและต้องมีตารางเพื่อเปลี่ยนและย้ายข้อมูล" ดูเหมือนว่าทุกครั้งที่มันเป็นสถานการณ์แบบ one-off, shoot-from-the-hip ฉันรู้สึกว่านี่เป็นทักษะที่อ่อนแอที่สุดของฉันที่ตั้งเป็น DBA ฉันต้องการที่จะได้รับในบางรูปแบบสำหรับการเข้าใกล้การจัดการและการทดสอบการโยกย้ายข้อมูล โปรดยึดถือแนวทางปฏิบัติที่ดีที่สุดและ / หรือสถานที่ที่ฉันจะได้รับสื่อการเรียนรู้เพื่อช่วยให้ฉันดีขึ้นในด้านนี้

3
ฉันจะติดตั้ง pgcrypto ใน PostgreSQL 8.4 ได้อย่างไร
ฉันใช้อูบุนตูเซิร์ฟเวอร์ 10.10 และผมได้ติดตั้ง PostgreSQL 8.4 apt-get install postgresqlใช้ ฉันต้องการใช้sha1()ฟังก์ชั่นในตัวแต่ดูเหมือนว่าฉันจะต้องติดตั้งpgcryptoก่อน แต่ฉันไม่รู้วิธีติดตั้ง ไม่มีpgcryptoถ้าฉันพยายามติดตั้งโดยใช้apt-get install pgcryptoและฉันไม่พบไฟล์ใด ๆ ที่เริ่มต้นด้วยpgcryptoในระบบของฉัน (ฉันพยายามfind / -name "pgcrypto*") ฉันจะติดตั้ง pgcrypto เพื่อให้สามารถใช้digest('word-to-hash','sha1')ฟังก์ชั่นในการสืบค้นฐานข้อมูลได้อย่างไร อัปเดต:ฉันพยายามติดตั้ง pgcrypto ในเครื่อง Ubuntu อื่น หลังจากติดตั้งแพคเกจโดยใช้sudo apt-get install postgresql-contrib-8.4ฉันจะติดตั้งลงในฐานข้อมูล PostgreSQL ปัจจุบันได้อย่างไร

2
จะเปลี่ยนชื่ออินสแตนซ์ของ SQL Server Express 2008 ได้อย่างไร
คำถามนี้ถูกโยกย้ายจาก Server Fault เนื่องจากสามารถตอบได้ใน Exchange Administrators Stack Exchange อพยพ 7 ปีที่ผ่านมา บนเครื่องพัฒนาของฉันฉันได้ติดตั้ง SQL Server Express 2008 .\SQLEXPRESSแต่ก็มีชื่ออินสแตนซ์ ฉันต้องการให้เป็นอินสแตนซ์เริ่มต้น ฉันค่อนข้างมั่นใจว่าฉันเลือกตัวเลือก "Default Instance" ในการตั้งค่า แต่ดูเหมือนจะไม่ทำงาน มีวิธีใดบ้างที่ฉันสามารถเปลี่ยนชื่ออินสแตนซ์ตอนนี้ ที่เพิ่ม: ดูเหมือนว่านี่เป็นข้อบกพร่องที่รู้จักในตัวติดตั้ง มันจะได้รับการแก้ไขเมื่อ PCU 1 (PubliC Update) ออกมา แต่ไม่มีการบอกว่าจะเกิดอะไรขึ้น ในเวลาเฉลี่ยมีวิธีแก้ไขสองวิธี: เมื่อติดตั้งให้เลือก "ชื่ออินสแตนซ์" MSSQLSERVERและป้อน ติดตั้งอินสแตนซ์ที่มีชื่อจากนั้นติดตั้งอินสแตนซ์อื่นและในเวลานี้ตัวเลือก "อินสแตนซ์เริ่มต้น" จะทำงาน ยังคงคำถามยังคงมีวิธีใดที่จะเปลี่ยนชื่ออินสแตนซ์โดยไม่ต้องติดตั้งใหม่หรือไม่? เนื่องจากการตั้งค่าเป็นอาการปวดช้า XD

4
ตรวจสอบข้อ จำกัด ไม่ทำงาน?
ฉันมีตารางต่อไปนี้ create table test ( id smallint unsigned AUTO_INCREMENT, age tinyint not null, primary key(id), check (age<20) ); ปัญหาคือCHECKข้อ จำกัด ไม่ทำงานในคอลัมน์อายุ ตัวอย่างเช่นเมื่อฉันใส่ 222 สำหรับเขตข้อมูลอายุ MySQL ยอมรับมัน
23 mysql  constraint 

5
เพิ่มบทความลงในสิ่งพิมพ์ของทรานแซคชันโดยไม่ต้องสร้างสแนปชอตใหม่
การใช้การจำลองแบบของทรานแซคชัน SQL 2008 R2 กับสมาชิก pull เมื่อเราเพิ่มบทความฉันต้องการหลีกเลี่ยงการสร้าง snapshot ทั้งหมด (db คือ ~ 80 GB ดังนั้นจึงใช้เวลาหลายชั่วโมง) จากบทความนี้ฉันได้เห็นวิธีการทำสิ่งนี้ด้วยสแนปชอตบางส่วนโดยการปิดใช้งานทันที_sync แต่นั่นไม่ได้ผลสำหรับเรา โดยหลักการแล้วฉันต้องการเรียกใช้สิ่งนี้เป็นส่วนหนึ่งของสคริปต์ db ของเราเพื่อสร้างตารางดังนั้นถ้าเราต้องการให้มันทำซ้ำเรา: Create Table ... sp_addArticle ... sp_PushThisToOurSubscribersNow

1
ฉันจะตั้งค่าสตริง SQL Unicode / NVARCHAR ของเซิร์ฟเวอร์เป็นอีโมจิหรืออักขระเสริมได้อย่างไร
ฉันต้องการตั้งค่าตัวแปรสตริง Unicode เป็นอักขระเฉพาะตามจุดโค้ด Unicode ฉันต้องการใช้จุดรหัสเกิน 65535 แต่ฐานข้อมูล SQL Server 2008 R2 SQL_Latin1_General_CP1_CI_ASมีการเปรียบเทียบของ ตามเอกสาร NCHAR ไมโครซอฟท์ที่NCHARฟังก์ชั่นใช้เวลาจำนวนเต็มดังนี้ integer_expression เมื่อการเรียงของฐานข้อมูลไม่มีค่าสถานะอักขระเสริม (SC) นี่เป็นจำนวนเต็มบวกตั้งแต่ 0 ถึง 65535 (0 ถึง 0xFFFF) หากระบุค่านอกช่วงนี้ NULL จะถูกส่งคืน สำหรับข้อมูลเพิ่มเติมเกี่ยวกับอักขระเสริมดูที่การเรียงหน้าและการสนับสนุน Unicode เมื่อการเรียงฐานข้อมูลสนับสนุนแฟล็กอักขระเสริม (SC) นี่เป็นจำนวนเต็มบวกตั้งแต่ 0 ถึง 1114111 (0 ถึง 0x10FFFF) หากระบุค่านอกช่วงนี้ NULL จะถูกส่งคืน ดังนั้นรหัสนี้: SELECT NCHAR(128512); ส่งคืนNULLในฐานข้อมูลนี้ ฉันต้องการให้ส่งคืนเช่นนี้: SELECT N'😀'; ฉันจะตั้งค่าตัวแปรสตริง …

1
ทำไม 0 เท่ากับสตริงที่ว่างเปล่า?
ฉันต้องการความช่วยเหลือในการค้นหาสาเหตุที่T-SQLคำสั่งต่อไปนี้ส่งคืน1(จริง): SELECT IIF( 0 = '', 1, 0) ฉันเดาว่ามีคนเปลี่ยนตัวANSIเลือกที่ชอบSET ANSI_NULLSหรืออย่างอื่นที่ทำให้เกิดพฤติกรรม ปัญหาของฉันคือฉันเข้าร่วมค่าบางอย่างและในชุดแถวสุดท้ายฉันมีค่าที่เข้าร่วม0และ''ค่าซึ่งไม่ถูกต้อง

2
postgres หลายคอลัมน์เพื่อ json
ฉันกำลังเรียกใช้ postgresql 9.3.4 ฉันมีตารางที่มี 3 ฟิลด์: id name addr --- ---- ---- 1 n1 ad1 2 n2 ad2 ... ฉันต้องการย้ายข้อมูลไปยังตารางใหม่ที่มีฟิลด์เช่น: id data --- ---- 1 {'name': 'n1', 'addr': 'ad1'} 2 {'name': 'n2', 'addr': 'ad2'} ... row_to_jsonไม่ใช่วิธีแก้ปัญหาสำหรับฉันเหมือนSELECT t.id, row_to_json(t) as data FROM (select id, name, addr from myt) tเป็นการเพิ่มidผลลัพธ์เช่นกัน มีวิธีเลือกเขตข้อมูลที่ฉันต้องการ (ชื่อ …
23 postgresql  json  row 

3
แทนที่มุมมองที่ปรากฏใน Postgres
ฉันมีมุมมองที่เป็นรูปธรรมPostgres 9.3ซึ่งฉันต้องการอัปเดตด้วยคอลัมน์ใหม่ อย่างไรก็ตามมุมมองที่ปรากฏอื่น ๆ ยังขึ้นอยู่กับมุมมองนี้และข้อความแสดงข้อผิดพลาดระบุว่าไม่สามารถวางมุมมองได้เมื่อวัตถุอื่นขึ้นอยู่กับมุมมองนี้ ข้อผิดพลาด: ไม่สามารถวางมุมมอง materialized ล่าสุด latest_charges ได้เนื่องจากวัตถุอื่นขึ้นอยู่กับมัน นอกจากนี้ยังปรากฏจากเอกสารที่ว่าคำหลัก REPLACE ไม่ถูกต้องสำหรับมุมมองที่ปรากฏ มีทางลัดนอกเหนือจากการปล่อยวัตถุที่ต้องพึ่งพาทั้งหมดแล้วสร้างใหม่แต่ละรายการหรือไม่

2
แนวทางปฏิบัติที่ดีที่สุดสำหรับการสำรองฐานข้อมูล MySQL
ฉันได้ค้นพบเมื่อเร็ว ๆ นี้ว่าเว็บเซิร์ฟเวอร์ที่ใช้งานจริงของเราไม่ได้ทำการสำรองข้อมูลอยู่เป็นประจำ (หรือเลย) ฉันคุ้นเคยกับการสำรอง SQL Server DB แต่ไม่มีประสบการณ์มากมายกับ MySQL DB แนวทางปฏิบัติที่ดีที่สุดสำหรับการใช้ 'mysqldump' หรือเครื่องมือสำรองข้อมูลอื่น ๆ ฉันอาจ cron งานตารางเพื่อให้มันทำทุกคืนแล้วสำรองไฟล์ด้วยระบบสำรองของฉัน ขอบคุณ
23 mysql  mysqldump 

3
วิธีการเลือกแถวเฉพาะถ้ามีคอลัมน์อยู่หรือทุกแถวถ้าไม่มีคอลัมน์
ฉันกำลังเขียนสคริปต์ที่ได้รับจำนวนแถวสำหรับตารางไม่กี่อย่างไรก็ตามสำหรับบางตารางฉันต้องการได้รับจำนวนแถวที่มีการตั้งค่าสถานะ (ในกรณีนี้ใช้งาน = 1) มีวิธีที่ฉันสามารถทำได้ในแบบสอบถามหรือไม่ เช่น: ตารางusersมีคอลัมน์ที่เรียกว่าใช้งานอยู่ ตารางclientsไม่มีคอลัมน์ที่เรียกว่าใช้งานอยู่ ฉันต้องการรับจำนวนผู้ใช้ที่มีการใช้งาน = 1 และเพิ่งได้รับจำนวนลูกค้า ก่อนที่คุณจะพูดว่า "แค่เขียนโค้ดยาก ๆ " นี่คือข้อความค้นหาที่อยู่ในสคริปต์ python ที่สามารถเรียกใช้บนฐานข้อมูลที่แตกต่างกันมากมายและฉันไม่มีทางรู้ว่าตารางสคริปต์ของฉันจะถูกเลือกและหากมีคอลัมน์ที่เรียกว่าactiveและ ฉันต้องการมีเพียงหนึ่งแบบสอบถามที่จะทำมันทั้งหมดแทนที่จะเป็นสองคนแยกต่างหากและอาศัย mysql เพื่อโยนข้อผิดพลาดดังนั้นฉันรู้ว่าจะใช้อีกคนหนึ่ง
23 mysql  select  count 

4
ขั้นตอนใดที่จำเป็นในการรีสตาร์ทเครื่องที่โฮสต์ Microsoft SQL Server อย่างปลอดภัย
มีขั้นตอนพิเศษที่จำเป็นเพื่อป้องกันความเสียหายของข้อมูลเมื่อรีสตาร์ทเซิร์ฟเวอร์ที่โฮสต์อินสแตนซ์ MS SQL Server หรือไม่ ตัวอย่างเช่นฉันเพิ่งพบข้อเสนอแนะของการหยุดบริการ SQL ด้วยตนเอง ความเข้าใจของฉันอยู่ที่นี้จะถูกจัดการโดยใช้ Windows shutdownกระบวนการ ฉันแน่ใจว่ามีขั้นตอน zillion ซึ่งแต่ละคนอาจแนะนำเหมือนที่ผมกล่าวถึงเพียง แต่ฉันต้องการที่จะหลีกเลี่ยงการทำซ้ำการปฏิบัติที่ล้าสมัยหรือเชื่อโชคลาง มีคำแนะนำจาก Microsoft หรือมาตรฐานอุตสาหกรรมที่แพร่หลายหรือไม่ คำถามนี้เกี่ยวข้องกับขั้นตอนระยะสั้นในการรีบูตเครื่อง มีคำถามอีกข้อหนึ่งเกี่ยวกับขั้นตอนระยะยาวในการรับรองว่าเครื่องไม่ได้ใช้งานก่อนที่จะนำไปทิ้งอย่างถาวร

7
รายการสิทธิ์ทั้งหมดสำหรับบทบาทที่กำหนด?
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน Exchange Administrators Stack Exchange อพยพ 6 ปีที่แล้ว ฉันค้นหาไปทั่วและไม่พบคำตอบที่สรุปสำหรับคำถามนี้ ฉันต้องการสคริปต์ที่สามารถให้สิทธิ์ทั้งหมดสำหรับบทบาทที่เกี่ยวข้อง ความคิดใด ๆ หรือเป็นไปได้? นี่ทำให้ฉันใกล้ - แต่ฉันไม่สามารถพลิกมันและให้บทสรุปสำหรับบทบาทมากกว่าผู้ใช้ http://consultingblogs.emc.com/jamiethomson/archive/2007/02/09/SQL-Server-2005_3A00_-View-all-permissions--_2800_2_2900_.aspx WITH perms_cte as ( select USER_NAME(p.grantee_principal_id) AS principal_name, dp.principal_id, dp.type_desc AS principal_type_desc, p.class_desc, OBJECT_NAME(p.major_id) AS object_name, p.permission_name, p.state_desc AS permission_state_desc from sys.database_permissions p inner JOIN sys.database_principals dp on p.grantee_principal_id = …

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