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

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

2
อะไรคือความแตกต่างระหว่าง SQL I / O Sim และเครื่องมือ SQL IO?
ฉันต้องการทดสอบทางเลือกอื่นของ SQL Server ด้วยเครื่องมือเปรียบเทียบ ฉันพบเครื่องมือสองอย่างโดย Microsoft: เครื่องมือมาตรฐานระบบย่อยของดิสก์ SQLIO SQL IO Sim ความแตกต่างระหว่างพวกเขาคืออะไร? มันเป็นสิ่งเดียวกันหรือไม่ ขอบคุณ!

1
กำลังดับ - การค้นหาเสร็จสิ้นหรือไม่
มีวิธีการตรวจสอบและดูว่าแบบสอบถามเสร็จหรือไม่ ฉันใช้คำสั่งอัปเดตที่รันมานาน 3 ครั้ง (+/- 25 ชั่วโมงต่อครั้ง) เมื่อฉันออกจากบ้านเพื่อไปพักผ่อนในสัปดาห์ที่แล้ว น่าเสียดายที่บางช่วงสัปดาห์ที่ไฟฟ้าดับและเครื่องที่ใช้ MYSQL ก็ปิดตัวลง มีวิธีในการตรวจสอบและดูว่าแบบสอบถาม 3 รายการ (หรือทั้งสามรายการ) ใดที่เสร็จสมบูรณ์หรือไม่ ฉันรู้ว่าฉันสามารถตรวจสอบเพื่อดูว่าข้อมูลได้รับการปรับปรุงหรือไม่ แต่คาดว่าจะต้องมี NULL ด้วยการดำเนินการที่ถูกต้องและครบถ้วนและมีข้อมูล 48 ล้านแถวเพื่ออ่าน ความคิดใด ๆ
9 mysql 

1
Amazon RDS MySQL 5.5 Innodb Lock timeout เกินกำหนดแล้ว
นับตั้งแต่เราย้ายไปที่ Amazon RDS เรามีปัญหาเรื่องประสิทธิภาพที่ค่อนข้างบ้าคลั่งและวันนี้เราเริ่มมีปัญหาการล็อค ด้วยเหตุนี้ฉันจึงพบว่ามันเป็นปัญหาการหมดเวลาและไปตรวจสอบหน่วยความจำที่เราใช้ เราแลกเปลี่ยนกันได้ประมาณ 70MB ฉันไปที่หน่วยความจำแม่มดล่าสัตว์กับ mysqltuner และมันบอกว่าการใช้หน่วยความจำสูงสุดประมาณ 400% เป็นไปได้ ตอนนี้ฉันได้ลดลงเหลือเพียงเล็กน้อย> 100% ขอบคุณตัวช่วยสร้างการกำหนดค่าของ Percona อย่างไรก็ตามเรายังคงมีปัญหาการล็อคนี้ดังนั้นฉันคิดว่ามันไม่เกี่ยวข้องกับหน่วยความจำ / การแลกเปลี่ยน ทำไมฉันยังคงได้รับการล็อค เกิดอะไรขึ้นที่นี่? ฉันมั่นใจว่าการรีบูตจะแก้ปัญหาได้ แต่นั่นไม่ควรเป็นวิธีแก้ปัญหา เราจะทำอย่างไรเพื่อป้องกันปัญหานี้ในอนาคต ฉันพยายามล้างแคชแบบสอบถามและตาราง - ใช้งานได้ ฟลัชประเภทอื่นไม่ทำงานขอบคุณ RDS: / นี่คือความมั่งคั่งของข้อมูลที่ฉันคิดได้: QUERY INSERT INTO `myTable` (`firstName`, `lastName`, `email`) VALUES ('Travis', 'B...', '...@gmail.com') ข้อความผิดพลาด Lock wait timeout exceeded; try restarting transaction …

1
sp_execute ต้องการพารามิเตอร์ '@handle' ของประเภท 'int'
ฉันพยายามตรวจสอบขั้นตอนการจัดเก็บหากมีตารางอยู่ในฐานข้อมูลปลายทางของฉัน หากไม่เป็นเช่นนั้นฉันจะสร้างตารางโดยใช้ตาราง data_schema จากฐานข้อมูลต้นทาง อย่างไรก็ตามเมื่อฉันใช้ sp_execute เพื่อพยายามนำกลับมาหากตารางมีอยู่ฉันได้รับข้อผิดพลาดขั้นตอนคาดว่าพารามิเตอร์ '@handle' ของประเภท 'int' ฉันไม่ได้ใช้พารามิเตอร์ @handle มีคนบอกฉันว่าข้อผิดพลาดนี้มีความหมายอย่างไรและทำไมฉันถึงได้รับ ส่วนที่เกี่ยวข้องของรหัสของฉันอยู่ด้านล่าง DECLARE @SQL NVARCHAR(MAX), @Parameters NVARCHAR(4000), @TableNotExists INT, @SourceTable NVARCHAR(200), @DestDB NVARCHAR(200) BEGIN SET @SourceTable = 'table' SET @DestDB = 'database' SET @Parameters = N'@SourceTableIN NVARCHAR(200), @TableNotExistsOut INT OUTPUT' SET @SQL = N'USE [' + @DestDB + …

1
การหมดเวลางานของ SQL Server
ดังนั้นดูเหมือนว่าเป็นไปไม่ได้ที่จะตั้งค่าการหมดเวลาสำหรับแต่ละขั้นตอนเดียวในงาน SQL Server ( บทความจาก StackExchange ) MSDN ชี้ให้เห็นว่าคุณสามารถกำหนด Agent หมดเวลาได้แน่นอน: คุณสมบัติตัวแทนของเซิร์ฟเวอร์ SQL ปิดการดำเนินงานชุด คำถาม การหมดเวลาของ Agent ทำงานอย่างไร มีวิธีอื่น (โดยเฉพาะการกำหนดค่า) เพื่อตั้งค่าการหมดเวลาขั้นตอนเดียวหรือไม่ มีวิธีอื่น (โดยเฉพาะการกำหนดค่า) เพื่อตั้งค่าการหมดเวลางานทั้งหมดหรือไม่

3
เชื่อมต่อ pgAdmin3 กับ Postgres บน Heroku
ฉันใช้งานฐานข้อมูล Heroku Postgres ( ฐานข้อมูล ) ร่วมกับแอพ Django เอกสารที่อ้างถึง Add-on อยู่ที่นี่ ฉันคิดว่านี่เป็นคำถามที่คุ้มค่าสำหรับชุมชนเพราะ Heroku แจ้งเตือนผู้ใช้ในวันนี้ว่าจะย้ายข้อมูลทุกอย่างออกจาก Add-on ของฐานข้อมูลที่แชร์ซึ่งเคยเป็นค่าเริ่มต้น ฉันมีปัญหาในการเชื่อมต่อ pgAdmin3 กับฐานข้อมูล ตามคำแนะนำในลิงค์ด้านบนฉันคว้าข้อมูลประจำตัวของฐานข้อมูลด้วยคำสั่งต่อไปนี้: $ heroku pg:credentials HEROKU_POSTGRESQL_OLIVE ฉันใช้การติดตั้ง Homebrew ของ Postgresql บน Mac OSX ในระหว่างนี้ฉันมี: เปิด SSL ใน pg_postgresql.conf ของฉัน เพิ่มการตั้งค่า: listen_addresses = '*' และเพิ่ม host all all 0.0.0.0/0 md5 และรีสตาร์ทเซิร์ฟเวอร์ postgres ของฉัน …

2
คำสั่ง 'สร้างฐานข้อมูล' ของ SQL Server วิธีสืบทอดการตั้งค่า autogrowth เป็นอย่างไร
ฉันใช้ SQL Server 2008 R2 และสร้างฐานข้อมูลผ่านการปรับใช้อย่างต่อเนื่อง ในระบบของเราการตั้งค่า autogrowth 1Mb / 10% เริ่มต้นใน SQL Server ทำงานได้ไม่ดีกับข้อมูลของเรา โดยเฉพาะอย่างยิ่งเมื่อเรามีแอปพลิเคชันรุ่นเก่าที่ป้องกันไม่ให้เราเปลี่ยนสคีมามาก เราต้องการให้การตั้งค่าฐานข้อมูลถูกกำหนดค่าในระดับอินสแตนซ์เพื่อให้เราสามารถเปลี่ยนแปลงการปรับใช้แบบฉากได้ ฉันได้อ่านในหลาย ๆ ที่ที่การตั้งค่าเริ่มต้นสำหรับฐานข้อมูลใหม่นั้นขึ้นอยู่กับการตั้งค่าสำหรับ 'model' แต่ดูเหมือนว่าจะทำงานได้โดยคลิกฐานข้อมูลใหม่ใน SQL Management studio UI และไม่ได้มาจากสคริปต์เช่น CREATE DATABASE [MyDb] msdn.microsoft.com/en-us/library/ms186388(v=sql.105).aspx sqlservercentral.com/Forums/Topic1065073-391-1.aspx /programming/8828557/possible-to-configure-database-autogrowth-settings-at-the-instance-level/8828604#comment15586568_8828604 มีใครที่จะได้รับสิ่งนี้เพื่อทำงานกับสคริปต์สร้างหรือไม่? มีวิธีอื่นที่ฉันสามารถตั้งค่า autogrowth ต่อหนึ่งเซิร์ฟเวอร์ได้หรือไม่

3
SQL Server 2012 Standard Edition - อินสแตนซ์หลายตัวและการใช้หน่วยความจำ
หากเรามี SQL Server 2012 Standard Edition หลายอินสแตนซ์ (ซึ่งมีขีด จำกัด หน่วยความจำ 64 GB) บนเซิร์ฟเวอร์หนึ่งซึ่งมี RAM 192 GB ให้ทำทั้งสองกรณีให้เข้าถึงหน่วยความจำ 64 GB แรกเท่านั้นหรือสามารถเข้าถึงที่แตกต่างกันได้ ส่วนของหน่วยความจำเพื่อให้แต่ละคนสามารถมี "ก้อน" 64 GB ของตัวเอง นี่คือการพิจารณาสำหรับกลุ่ม Active / Active หากทั้งสองโหนดล้มเหลวไปที่โหนดเดียว

3
ฉันสามารถพึ่งพาฟังก์ชั่นที่ถูกดำเนินการเป็นครั้งแรกใน SQL
โปรดพิจารณาสคริปต์ต่อไปนี้: create or replace function f(p_limit in integer) return integer as begin set_global_context ('limit', p_limit); return p_limit; end; / create view v as select level as val from dual connect by level<=sys_context('global_context','limit'); select f(2), v.* from v; /* F(2) VAL ---------------------- ---------------------- 2 1 2 2 */ select f(4), v.* …
9 oracle 

1
EC2 - วิธีการสำรองข้อมูล PostgreSQL อย่างถูกต้องเป็นอย่างไร
นี่คือการติดตั้ง: อินสแตนซ์ Amazon 2 ขนาดเล็ก (สำรอง EBS) EC2 ของ Amazon พร้อม 3 วอลุ่มเพิ่มเติม นี่คือทั้งเว็บเซิร์ฟเวอร์และเซิร์ฟเวอร์ฐานข้อมูล รหัสหนึ่งเล่มสำหรับหนึ่งเล่มสำหรับไดเรกทอรีข้อมูล PostgreSQL (8.4) และอีกหนึ่งเล่มเพื่อจัดเก็บไฟล์ WAL จาก PostgreSQL (1) วอลุ่มที่มีไฟล์ WAL จะมีการสำรองฐานของไดเรกทอรีข้อมูลซึ่งจะถูกคัดลอกไปหลังจากทำการ pg_start_backup () จากนั้นจะจัดเก็บผลลัพธ์การเก็บถาวรอย่างต่อเนื่องจาก PostgreSQL (ไฟล์ WAL) หากต้องการสแน็ปช็อตวอลุ่มนี้มีจุดใดในการสร้างการซิงค์และการแช่แข็งระบบไฟล์ (ใช้ xfs_freeze หากเป็น XFS หรือ dmsetup หากเป็น EXT4) หรือฉันจะเพียงแค่ถ่ายภาพสด? ไฟล์ WAL จะจัดส่งในอัตราหนึ่งต่อนาที เป็นไปได้ไหมที่สแนปชอตสามารถเริ่มต้นได้ในขณะที่ไฟล์ WAL เดี่ยวถูกคัดลอกมาและทำให้ข้อมูลเสียหาย? (2) ไดรฟ์ข้อมูลที่ประกอบด้วยไดเรกทอรีข้อมูล PostgreSQL …

3
mysql ใช้เวลาในการส่งข้อมูลนานเกินไป
ฉันมีตารางง่าย ๆ ที่มีล้านเรคคอร์ด (14,000,000) และสำหรับเคียวรี่ธรรมดา ๆ มันใช้เวลามากเกินไปในการ "ส่งข้อมูล" โต๊ะ CREATE TABLE IF NOT EXISTS details ( id int(11) NOT NULL, date date NOT NULL, time int(2) NOT NULL, minutes_online decimal(5,0) NOT NULL, minutes_playing decimal(5,0) NOT NULL, minutes_chatting decimal(5,0) NOT NULL, minutes_away decimal(5,0) NOT NULL PRIMARY KEY (id,date,time) ) ENGINE=MyISAM DEFAULT …

2
PostgreSQL PITR กู้คืน
ฉันมีเซิร์ฟเวอร์ PostgreSQL 9.1 ที่ทำงานบน CentOS 5.8 32 บิต OS และฉันได้เปิดใช้งานการเก็บถาวร WAL แล้ว บนเซิร์ฟเวอร์นี้มีสามฐานข้อมูล: databaseA, databaseB และ databaseC มีคนลบตารางเวลา 12.00 น. ในฐานข้อมูล B และฉันต้องการคืนค่าฐานข้อมูล B ให้อยู่ก่อนเวลาที่ตารางจะถูกลบ เวลาในขณะนี้คือบ่ายสามโมง ฉันจะกู้คืนฐานข้อมูล B ได้จนถึง 12.00 น. โดยไม่สูญเสียข้อมูลมูลค่าสามชั่วโมงไปยังอีกสองฐานข้อมูลได้อย่างไร postgresql.conf wal_level = archive archive_mode = on archive_command = 'test ! -f /opt/pgsql/logs/%f && cp %p /opt/pgsql/logs/%f' max_wal_senders …

1
การสร้างผู้ใช้สำหรับฐานข้อมูลเดียวที่มีอยู่
ฉันใหม่สวยที่ทำงานกับ MSSQL และมีรุ่น 2012 ในขณะนี้ สิ่งที่ฉันพยายามจะทำคือสร้างผู้ใช้สำหรับฐานข้อมูลที่มีอยู่และให้สิทธิ์การเข้าถึงแก่ผู้ใช้ในฐานข้อมูลนั้นเท่านั้น ฉันจะเรียกใช้ SQL นี้จาก JAVA โดยใช้คำสั่งที่เตรียมไว้

3
วิธีแก้ไขการเชื่อมต่อมากเกินไปและข้อผิดพลาดร้ายแรงใน mysql ที่รันบน vps
ฉันกำลังเรียกใช้แอปพลิเคชั่น PHPlist บนเซิร์ฟเวอร์ linode ของฉันพร้อมใช้งานสคริปต์ PHP 12 สคริปต์ซึ่งแต่ละอันจะเปิดการเชื่อมต่อ MySQL ตอนนี้เมื่อฉันเข้าถึง PHPlist มันมักจะแสดงข้อผิดพลาดนี้: ข้อผิดพลาดร้ายแรง: ขออภัยเซิร์ฟเวอร์ไม่ว่างในขณะนี้โปรดลองอีกครั้งในภายหลัง เมื่อฉันพยายามเข้าถึง phpMyAdmin จะแสดงข้อผิดพลาด # 1040 ผลลัพธ์ของสคริปต์ PHP ของฉันที่ทำงานผ่านcronงานแสดง: คำเตือน PHP: mysqli_connect (): (HY000 / 1040): การเชื่อมต่อมากเกินไป ฉันใช้ LAMP stack บนเซิร์ฟเวอร์ด้วย phpMyAdmin topการส่งออกในรายการสถานีmysqldโดยใช้ CPU 100-130% เมื่อฉันพยายามแก้ไขปัญหานี้ฉันได้รับเบาะแสบางอย่าง: เพิ่มตัวแปร max_connection: ฉันใช้ 200 (100 เป็นค่าเริ่มต้น) แคชตารางเปิด: 512 (400 ตามค่าเริ่มต้น) มีตัวแปรมากมายที่ต้องตั้งค่า …
9 mysql  phpmyadmin  php 

3
เป็นไปได้ที่จะบันทึกจำนวนสูงสุดใน postgresql หรือไม่
โดยทั่วไปส่วนหนึ่งของตาราง Postgresql ของเราถูกใช้เพื่อเก็บบันทึกการเข้าถึงเซิร์ฟเวอร์และบางครั้งในระหว่างการผลิตอาจมีขนาดใหญ่พอสมควร มีวิธีการตั้งค่าใด ๆ ใน postgresql เพื่อให้มีจำนวนระเบียนสูงสุดที่ตารางสามารถมีและเพื่อผลักดันระเบียนที่เก่าที่สุดได้หรือไม่

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