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

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


1
ฉันสามารถใช้ Oracle Standard หรือ Enterprise Edition เพื่อการฝึกอบรมของฉันเองได้หรือไม่?
คำถามเกี่ยวกับข้อกำหนดสิทธิการใช้งานของ Oracle ฉันต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการจัดการฐานข้อมูล Oracle โชคไม่ดีที่ฉันใช้ LInux เวอร์ชัน 32 บิตดังนั้นฉันไม่สามารถติดตั้ง Oracle 11 XE (ฉันไม่พบรุ่น 32 บิต) ไม่เป็นไรถ้าฉันดาวน์โหลดและติดตั้ง Oracle Standard หรือ Entrprise ในสมุดบันทึกส่วนตัวของฉันและใช้โดยไม่มีค่าใช้จ่ายเพิ่มเติมและการออกใบอนุญาตที่ซ่อนอยู่มันเป็นไปได้หรือไม่ ฉันจะไม่ใช้มันเพื่อการพาณิชย์ใด ๆ แม้แต่โครงการโอเพนซอร์ซฉันจะใช้การติดตั้งนี้เพื่อพัฒนาทักษะ DBA ของฉันเท่านั้น

2
ROW_NUMBER () โดยไม่มี PARTITION BY ยังคงสร้างตัวทำซ้ำของเซกเมนต์
ฉันกำลังเขียนเกี่ยวกับโพสต์บล็อกที่กำลังจะมาถึงของฉันเกี่ยวกับการจัดอันดับและฟังก์ชั่นหน้าต่างรวมโดยเฉพาะการวนซ้ำของโครงการเซกเมนต์และลำดับ วิธีที่ฉันเข้าใจว่าเซ็กเมนต์ระบุแถวในสตรีมที่ประกอบด้วยจุดสิ้นสุด / จุดเริ่มต้นของกลุ่มดังนั้นเคียวรีต่อไปนี้: SELECT ROW_NUMBER() OVER (PARTITION BY someGroup ORDER BY someOrder) จะใช้เซกเมนต์เพื่อบอกว่าแถวอยู่ในกลุ่มที่แตกต่างจากแถวก่อนหน้าหรือไม่ ตัววนซ้ำ Project Sequence จะทำการคำนวณจำนวนแถวตามจริงโดยขึ้นอยู่กับเอาต์พุตของเอาต์พุตของตัววนซ้ำของเซกเมนต์ แต่เคียวรีต่อไปนี้ซึ่งใช้ตรรกะนั้นไม่ควรรวมเซกเมนต์เนื่องจากไม่มีนิพจน์พาร์ติชัน SELECT ROW_NUMBER() OVER (ORDER BY someGroup, someOrder) อย่างไรก็ตามเมื่อฉันลองสมมติฐานนี้แบบสอบถามทั้งสองนี้ใช้ตัวดำเนินการของส่วน ข้อแตกต่างคือแบบสอบถามที่สองไม่จำเป็นต้องมีGroupByในส่วน นั่นไม่ได้ช่วยลดความจำเป็นในการแบ่งกลุ่มในตอนแรกใช่หรือไม่ ตัวอย่าง CREATE TABLE dbo.someTable ( someGroup int NOT NULL, someOrder int NOT NULL, someValue numeric(8, 2) NOT NULL, PRIMARY KEY CLUSTERED …

1
ไม่สามารถใช้การค้นหาแบบคลุมเครือใน BIDS
เพื่อนร่วมงานของฉันกำลังมีปัญหากับการเสนอราคา เขากำลังค้นหาคลุมเครือง่าย ๆ และมองแค่สองแถวเท่านั้น (สำหรับจุดประสงค์ในการทดสอบ) สิ่งที่แปลกคือเมื่อเขาพยายามเรียกใช้พรอมต์บรรทัดคำสั่งปรากฏขึ้นแล้วหายไปจากนั้นแพคเกจแฮงค์ ดังนั้นฉันให้เขาส่งพัสดุมาให้ฉันและตัดสินใจเรียกใช้ด้วยตัวเองและพบสิ่งเดียวกันที่เกิดขึ้นจริงหรือ มันจะนั่งแบบนั้นตลอดไป ไม่มีข้อความผิดพลาดหรืออะไร ข้อความสุดท้ายที่ให้ฉันคือ [SSIS.Pipeline] Information: Execute phase is beginning. ตอนนี้สิ่งนี้อาจถูกวางไว้บน Superuser ได้ดีกว่าหรือบางสิ่งบางอย่างเพราะฉันมีลางสังหรณ์ว่าปัญหาคืออะไร คอมพิวเตอร์ของเราถูกล็อคในระดับที่น่าผิดหวัง มีปัญหาหลายอย่างที่ฉันพบเมื่อติดตั้งที่ไม่เรียบร้อยและซอฟต์แวร์ทำงานไม่ถูกต้อง หากคุณมีความคิดใด ๆ เกี่ยวกับสิ่งที่เกิดขึ้นหรือวิธีการแก้ไขให้ฉันทราบ อัปเดต:พยายามติดตั้งโปรแกรมปรับปรุงนี้เพื่อไม่เป็นประโยชน์ ไม่ทำงานใน 32 บิตหรือ 64 บิตหรือเป็นผู้ดูแลระบบ ตามด้วยผลลัพธ์และท้ายที่สุดก็คือ SSIS package "Package1 (1) (1).dtsx" finished: Canceled.
11 ssis 

1
ตารางไม่ได้รับการดูด
เรากำลังใช้ Postgres 9.2 บน Windows เพื่อเก็บข้อมูลไทม์ความถี่ต่ำ: เราแทรกแถวประมาณ 2,000 แถวต่อวินาทีทุก ๆ 24 ชั่วโมง 7 วันต่อสัปดาห์โดยไม่มีการหยุดทำงาน มีการDELETEวิ่งบนโต๊ะทุก ๆ 10 นาทีเพื่อให้ความยาวของตารางเท่ากับจำนวนวันที่กำหนด สิ่งนี้จบลงที่ความมั่นคง 900 ล้านแถว (สำหรับผู้ที่สนใจ, SELECT, INSERT, DELETEมี performant ทั้งหมด) เช่นDELETEนี้ในขณะที่การลบแถวไม่ได้ทำให้พื้นที่ดิสก์ว่าง เพื่อที่เราจะต้องVACUUMวิ่ง ฉันสอบถามpg_stat_user_tablesและVACUUMดูเหมือนว่าจะไม่ได้ทำงาน สิ่งที่ฉันเข้าใจจากเอกสารต่าง ๆ ( http://www.postgresql.org/docs/9.2/static/routine-vacuuming.html ): ดูเหมือนว่าเราจะเปิดเครื่องดูดฝุ่นอัตโนมัติและจะทำงานในตารางอื่น สูญญากาศอัตโนมัติไม่ทำงานFULLและไม่ควรใช้การล็อคแบบเอกสิทธิ์บนโต๊ะ ไม่มีใครมีความคิดใด ๆ ว่าทำไมสูญญากาศอัตโนมัติไม่ทำงาน นี่เป็นเพียงเพราะตารางไม่ว่างอย่างต่อเนื่องหรือไม่ และมันก็คุ้มค่าที่จะทำงานVACUUMหลังจากทุกอย่างDELETEในกรณีนี้ (ซึ่งทำงานทุก 10 นาที)? แก้ไข: การสืบค้นโดยใช้ SQL จากลิงก์ SO …

3
การส่งข้อมูลเกี่ยวกับผู้ที่ลบระเบียนไปยังทริกเกอร์ลบ
ในการตั้งค่าหลักฐานการตรวจสอบฉันไม่มีปัญหาในการติดตามว่าใครกำลังอัปเดตหรือแทรกระเบียนในตารางอย่างไรก็ตามการติดตามผู้ที่ลบระเบียนดูเหมือนว่าจะมีปัญหามากกว่า ฉันสามารถติดตามส่วนแทรก / อัพเดตได้โดยใส่ในส่วนแทรก / อัปเดตฟิลด์ "UpdatedBy" นี้จะช่วยให้เรียก INSERT / UPDATE ให้มีการเข้าถึงช่อง "UpdatedBy" inserted.UpdatedByผ่านทาง อย่างไรก็ตามด้วยการลบทริกเกอร์ไม่มีข้อมูลถูกแทรก / ปรับปรุง มีวิธีการส่งผ่านข้อมูลไปยังทริกเกอร์การลบเพื่อที่จะได้รู้ว่าใครเป็นผู้ลบบันทึกหรือไม่? นี่คือทริกเกอร์การแทรก / อัปเดต ALTER TRIGGER [dbo].[trg_MyTable_InsertUpdate] ON [dbo].[MyTable] FOR INSERT, UPDATE AS INSERT INTO AuditTable (IdOfRecordedAffected, UserWhoMadeChanges) VALUES (inserted.ID, inserted.LastUpdatedBy) FROM inserted ใช้ SQL Server 2012

2
ฉันควรเพิ่มคีย์ต่างประเทศสกรรมกริยาหรือไม่
ตัวอย่างง่ายๆ: มีตารางลูกค้า create table Customers ( id integer, constraint CustomersPK primary key (id) ) ข้อมูลอื่น ๆ ทั้งหมดในฐานข้อมูลควรเชื่อมโยงไปยัง a Customerดังนั้นเช่นOrdersจะมีลักษณะดังนี้: create table Orders ( id integer, customer integer, constraint OrdersPK primary key (customer, id), constraint OrdersFKCustomers foreign key (customer) references Customers (id) ) สมมติว่าตอนนี้มีตารางเชื่อมโยงไปยังOrders: create table Items ( id integer, customer …

1
เหตุใด sys.columns และ INFORMATION_SCHEMA.COLUMNS จึงแสดงคอลัมน์จำนวนแตกต่างกัน
ฉันพยายามสองวิธีในการแสดงคอลัมน์ที่มีชื่อเฉพาะ: INFORMATION_SCHEMA.COLUMNS SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME='SUPPLIER_NAME'; SYS.COLUMNS SELECT * FROM SYS.COLUMNS WHERE NAME='SUPPLIER_NAME' เหตุใดแบบสอบถามจึงแสดงผลลัพธ์ต่างกัน
11 sql-server 

2
ไม่สามารถกำหนดค่าหรือเริ่มต้น MySQL
ฉันติดตั้ง Kubuntu 14.04 ใหม่เอี่ยมsudo aptitude install mysql-server-core-5.6แล้ว การติดตั้งไม่สมบูรณ์เนื่องจากการขึ้นต่อกันของแพ็คเกจ KDE บางตัวmysql-server-core-5.5ซึ่งจะถูกแทนที่ ตอนนี้เมื่อฉันเรียกใช้sudo aptitude install mysql-server-5.5ฉันได้รับข้อผิดพลาดนี้หลังจากระบุรหัสผ่าน: Configuring mysql-server-5.5 Unable to set password for the MySQL "root" user An error occurred while setting the password for the MySQL administrative user. This may have happened because the account already has a password, or because …

1
Sch-M WAIT บล็อก Sch-S ใน SQL Server 2014 แต่ไม่ใช่ SQL Server 2008 R2?
เราเพิ่งโอนย้ายอินสแตนซ์การผลิตของเราจาก SQL 2008 R2 ไปเป็นเซิร์ฟเวอร์ SQL 2014 ใหม่ล่าสุด นี่เป็นสถานการณ์ที่น่าสนใจที่เราค้นพบกับการใช้บริการของเรา พิจารณาฐานข้อมูลที่มีBroker Enabled = trueด้วยและMyService MyQueueการจัดการข้อความพิษถูกปิดใช้งานในคิวนี้ มีการสนทนาอย่างน้อย 2 ครั้งที่มีข้อความในคิว ในหนึ่งกระบวนการ (SPID 100) ดำเนินการ: BEGIN TRANSACTION; DECLARE @conversation_group_id UNIQUEIDENTIFIER; RECEIVE TOP (1) @conversation_group_id = conversation_handle FROM MyQueue; โปรดทราบว่าเราปล่อยให้ธุรกรรมเปิดอยู่ ลองนึกภาพว่ามันเป็นโปรแกรม. NET ที่กำลังรอทรัพยากรภายนอกอยู่นาน ผ่านทางsys.dm_tran_locksเราเห็นว่า SPID นี้ได้รับการล็อคทรงเครื่องบนคิว | type | resource_id | mode | status | …

1
SQL Server 2014 Express ด้วย Advanced Services รองรับการค้นหาข้อความทั้งหมดหรือไม่
ฉันติดตั้ง SQL Server 2014 Express edition ด้วยบริการขั้นสูงแล้ว ฉันหวังว่าจะลองใช้คุณสมบัติการค้นหาข้อความแบบเต็ม ฉันอ่านที่นี่ว่าการค้นหาข้อความแบบเต็มได้รับการสนับสนุนโดยฉบับด่วนปี 2014 แต่หลังจากติดตั้งและพยายามสร้างดัชนีข้อความแบบเต็มฉันได้รับข้อผิดพลาดที่ระบุว่าดัชนีข้อความแบบเต็มไม่สนับสนุนในเซิร์ฟเวอร์ sql เวอร์ชันนี้ ดัชนีข้อความแบบเต็มได้รับการสนับสนุนจริงหรือไม่? มีโอกาสที่ฉันจะติดตั้งเวอร์ชันที่ไม่ถูกต้อง (ไม่ใช่บริการขั้นสูง) หรือไม่ ฉันถอนการติดตั้งและติดตั้งใหม่สองครั้งเพื่อให้แน่ใจ แต่ปัญหาเดียวกันทั้งสองครั้ง ฉันมั่นใจว่าฉันติดตั้งโดยใช้เครื่องมือติดตั้งบริการขั้นสูง ฉันใช้ Windows 7, 64 บิต

1
“ จำกัด 1,000,25” เทียบกับ“ จำกัด 25 ออฟเซ็ต 1,000”
เมื่อเร็ว ๆ นี้ฉันพบว่า MySQL มีoffsetคุณสมบัติ ฉันพยายามค้นหาเอกสารเกี่ยวกับผลลัพธ์ของออฟเซ็ตหรือความแตกต่างระหว่างออฟเซ็ตและตัวแปรลิมิต แต่ดูเหมือนไม่พบสิ่งที่ฉันกำลังมองหา ให้บอกว่าฉันมี 10.000 แถวในตารางและฉันต้องการผลลัพธ์ 25 รายการจากแถว 1.000 เท่าที่ฉันทำได้ฉันสามารถทำทั้งสองอย่างเพื่อให้ได้ผลลัพธ์เดียวกัน: SELECT id,name,description FROM tablename LIMIT 1000,25 SELECT id,name,description FROM tablename LIMIT 25 OFFSET 1000 สิ่งที่ฉันอยากรู้คือความแตกต่างระหว่างคนทั้งสอง สิ่งนี้ทำสิ่งเดียวกันหรือเข้าใจผิดหรือเปล่า? เป็นหนึ่งช้าลง / เร็วขึ้นในตารางขนาดใหญ่ ผลลัพธ์ของการเปลี่ยนแปลงออฟเซ็ตเกิดขึ้นเมื่อฉันWHERE column=1(คอลัมน์พูดมีมากกว่า 100 ค่าที่ต่างกัน) ผลลัพธ์ของการเปลี่ยนแปลงออฟเซ็ตเกิดขึ้นเมื่อฉันหรือไม่ORDER BY column ASC(เนื่องจากมีค่าสุ่ม) หากนี่เป็นคำถาม 'โง่' และมีคนรู้จักเอกสารใด ๆ ที่ให้ความกระจ่างเรื่องนี้โปรดเพิ่มพวกเขาในการตอบกลับ ฉันมีความรู้สึกตรงข้ามข้ามแถว X แรกที่พบในฐานข้อมูลโดยไม่คำนึงถึงการเรียงลำดับและตำแหน่ง
11 mysql  limits 

1
การตรวจสอบข้อมูลโต้ตอบกับการจำลองแบบสตรีมได้อย่างไร
การตรวจสอบข้อมูลเป็นคุณลักษณะใหม่ที่นำเสนอใน 9.3 และ: มีพารามิเตอร์ GUC ใหม่ "ign_checksum_failure" ซึ่งจะบังคับให้ PostgreSQL ดำเนินการประมวลผลธุรกรรมต่อไปแม้ว่าจะตรวจพบความเสียหาย ในกรณีที่ความล้มเหลวในการตรวจสอบบนต้นแบบการจำลองข้อมูลที่เสียหายจะถูกทำซ้ำเป็นทาสหรือจะหยุดการจำลองแบบ มันขึ้นอยู่กับการตั้งค่าของignore_checksum_failure? นี้ README มีข้อมูลที่เกี่ยวข้องที่มีประโยชน์บาง แต่ไม่ได้โดยตรงตอบคำถาม

1
MySQL: bind-address 0.0.0.0 ใน my.cnf ไม่ทำงาน?
ฉันใหม่กับ mysql ฉันต้องการเชื่อมต่อกับเซิร์ฟเวอร์ mysql โดยใช้ทุกสิ่งที่ฉันต้องการ ฉันอ่านว่าสิ่งที่ฉันต้องทำคือเพิ่มไฟล์ my.cnf ที่บรรทัด bind-address = 0.0.0.0 นั่นคือสิ่งที่ฉันทำ ฉันรีสตาร์ทเซิร์ฟเวอร์ mysql จากนั้นฉันทดสอบจากบรรทัดคำสั่ง mysql -uroot -p'*password*' -h 127.0.0.1 --> Works mysql -uroot -p'*password*' -h 192.168.2.4 (local ip address) ---> ERROR 1045 (28000): Access denied for user 'root'@'mguru.lnx.gr' (using password: YES) คุณสามารถดูส่วนด้านล่างของส่วน mysqld ในไฟล์ my.cnf [mysqld] user = mysql …
11 mysql  my.cnf 

1
ลำดับกำลังใช้ซ้ำ
ฉันมีลำดับที่สร้างหมายเลขการติดตามสำหรับวัตถุในระบบของฉัน มันใช้งานได้ดีมาระยะหนึ่งแล้ว สัปดาห์ที่แล้วเราสังเกตเห็นว่ามันเริ่มที่จะใช้ค่าอีกครั้ง สิ่งที่น่าจะเกิดขึ้นก็คือในช่วงเย็นที่ต่างกันมันจะย้อนกลับไปสู่ค่าที่เคยมีเมื่อวันก่อน จากนั้นจะสร้างค่าต่อไปจากจุดนั้น ตัวอย่างเช่นฉันจะได้อะไรแบบนี้ 10112 10113 10114 10115 10116 10117 10118 10113 10114 10115 10116 ... ดูเหมือนว่าจะไม่มีรูปแบบใด ๆ เกิดขึ้นระยะเวลาระหว่างการใช้งานครั้งแรกกับการใช้ครั้งที่สอง (น้อยที่สุดเท่าที่ 10 นาทีหรือหลายชั่วโมง) หรือมีการย้อนกลับกี่ครั้ง ฉันคิดเกี่ยวกับการใช้งานการติดตาม (และยังอาจ) แต่ฉันไม่คิดว่าวัตถุลำดับจะถูกแก้ไขโดยตรง เหตุผลที่ฉันเชื่อว่านี่คือวันที่แก้ไขนั้นมีอายุหลายวันและชี้ไปที่เวลาที่เราชนค่าด้วยตนเองเพื่อลองและกำจัดรายการที่ซ้ำกัน (และปัญหาเกิดขึ้นหลายครั้งตั้งแต่นั้นมา) ไม่มีใครมีความคิดในสิ่งที่อาจทำให้เกิดการย้อนกลับลำดับและนำค่ากลับมาใช้ในแต่ละคืน? ปรับปรุง: เพื่อตอบคำถามสองสามข้อในความคิดเห็น: @@Version: Microsoft SQL Server 2012 (SP1) - 11.0.3000.0 (X64) 19 ตุลาคม 2555 13:38:57 น สร้างสคริปต์: CREATE SEQUENCE …

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