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

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

2
สร้างตารางเทียบกับเลือกเข้า
PostgreSQL รองรับCREATE TABLE ASและSELECT INTOเมื่อใดที่ฉันจะใช้ทั้งสอง CREATE TABLE AS - กำหนดตารางใหม่จากผลลัพธ์ของแบบสอบถาม CREATE TABLE ASสร้างตารางและเติมด้วยข้อมูลที่คำนวณโดยSELECTคำสั่ง คอลัมน์ตารางมีชื่อและประเภทข้อมูลที่เชื่อมโยงกับคอลัมน์ผลลัพธ์ของSELECT(ยกเว้นว่าคุณสามารถแทนที่ชื่อคอลัมน์ได้โดยให้รายชื่อคอลัมน์ใหม่ที่ชัดเจน) CREATE TABLE ASมีความคล้ายคลึงกับการสร้างมุมมอง แต่มันค่อนข้างแตกต่างกันมาก: มันสร้างตารางใหม่และประเมินแบบสอบถามเพียงครั้งเดียวเพื่อเติมตารางใหม่ในตอนแรก ตารางใหม่จะไม่ติดตามการเปลี่ยนแปลงที่ตามมาของตารางต้นฉบับของแบบสอบถาม ในทางตรงกันข้ามมุมมองประเมินSELECTคำสั่งที่กำหนดอีกครั้งเมื่อใดก็ตามที่มันถูกสอบถาม และจากนั้น SELECT INTO - กำหนดตารางใหม่จากผลลัพธ์ของแบบสอบถาม SELECT INTOสร้างตารางใหม่และเติมด้วยข้อมูลที่คำนวณโดยแบบสอบถาม SELECTข้อมูลจะไม่ได้กลับไปยังลูกค้าตามที่มีปกติ SELECTคอลัมน์ตารางใหม่มีชื่อและข้อมูลที่เกี่ยวข้องกับประเภทคอลัมน์การส่งออกของ
16 postgresql  ctas 

3
การตัดคำค้นหาใน IF EXISTS ทำให้ช้ามาก
ฉันมีแบบสอบถามด้านล่าง: select databasename from somedb.dbo.bigtable l where databasename ='someval' and source <>'kt' and not exists(select 1 from dbo.smalltable c where c.source=l.source) แบบสอบถามด้านบนเสร็จสมบูรณ์ในสามวินาที หากเคียวรีด้านบนคืนค่าใด ๆ เราต้องการให้โพรซีเดอร์ที่เก็บไว้เป็น EXIT ดังนั้นฉันจึงเขียนมันใหม่ด้านล่าง: If Exists( select databasename from somedb.dbo.bigtable l where databasename ='someval' and source <>'kt' and not exists(select 1 from dbo.smalltable c where c.source=l.source) ) …

2
ข้อควรพิจารณาเกี่ยวกับคีย์หลักที่ไม่ใช่จำนวนเต็ม
บริบท ฉันออกแบบฐานข้อมูล (บน PostgreSQL 9.6) ซึ่งจะเก็บข้อมูลจากแอปพลิเคชันแบบกระจาย เนื่องจากลักษณะการกระจายของแอปพลิเคชันฉันไม่สามารถใช้จำนวนเต็มเพิ่มโดยอัตโนมัติ ( SERIAL) เป็นคีย์หลักของฉันเนื่องจากสภาพการแข่งขันที่เป็นไปได้ วิธีแก้ปัญหาตามธรรมชาติคือการใช้ UUID หรือตัวระบุที่ไม่ซ้ำกันทั่วโลก Postgres มาพร้อมกับประเภทในตัวUUIDซึ่งเป็นขนาดที่พอดี ปัญหาที่ฉันมีกับ UUID เกี่ยวข้องกับการดีบัก: มันเป็นสตริงที่ไม่เป็นมิตรกับมนุษย์ ตัวระบุไม่ff53e96d-5fd7-4450-bc99-111b91875ec5บอกอะไรฉันในขณะACC-f8kJd9xKCdที่ไม่รับประกันว่าจะไม่ซ้ำใคร แต่บอกว่าฉันกำลังจัดการกับACCวัตถุ จากมุมมองการเขียนโปรแกรมเป็นเรื่องปกติที่จะดีบักเคียวรีแอปพลิเคชันที่เกี่ยวข้องกับวัตถุต่าง ๆ สมมติว่าโปรแกรมเมอร์ค้นหาACCวัตถุ (บัญชี) ที่ORDตาราง (ลำดับ) อย่างไม่ถูกต้อง ด้วยตัวระบุที่มนุษย์สามารถอ่านได้โปรแกรมเมอร์จะระบุปัญหาได้ทันทีในขณะที่ใช้ UUID เขาจะใช้เวลาในการพิจารณาว่ามีอะไรผิดปกติ ฉันไม่ต้องการเอกลักษณ์ "รับประกัน" ของ UUIDs; ฉันไม่ต้องการห้องพักบางส่วนสำหรับการสร้างปุ่มโดยไม่ให้เกิดความขัดแย้ง แต่ UUID เป็น overkill นอกจากนี้สถานการณ์กรณีที่เลวร้ายที่สุดมันจะไม่ใช่จุดจบของโลกหากเกิดการชน (ฐานข้อมูลปฏิเสธและแอปพลิเคชันสามารถกู้คืนได้) ดังนั้นการพิจารณาถึงความไม่เหมาะสมตัวระบุขนาดเล็ก แต่เป็นมิตรกับมนุษย์จะเป็นทางออกที่ดีสำหรับกรณีการใช้งานของฉัน การระบุวัตถุแอปพลิเคชัน ตัวระบุที่ฉันใช้มีรูปแบบต่อไปนี้: {domain}-{string}ซึ่ง{domain}จะถูกแทนที่ด้วยโดเมนวัตถุ (บัญชีคำสั่งผลิตภัณฑ์) และ{string}เป็นสตริงที่สร้างแบบสุ่ม ในบางกรณีอาจทำให้การแทรก …

2
เป็นเรื่องถูกกฎหมายหรือไม่ที่ SQL Server เติมคอลัมน์ PERSISTED ด้วยข้อมูลที่ไม่ตรงกับคำจำกัดความ
ฉันกำลังติดตามคำถามนี้เกี่ยวกับค่าแปลก ๆ ในPERSISTEDคอลัมน์ที่คำนวณ คำตอบนั้นทำให้เดาไม่กี่เกี่ยวกับพฤติกรรมนี้ ฉันถามสิ่งต่อไปนี้: นี่ไม่ใช่ข้อผิดพลาดทันทีหรือไม่ จะPERSISTEDคอลัมน์ที่เคยได้รับอนุญาตให้ทำงานในลักษณะนี้หรือไม่? DECLARE @test TABLE ( Col1 INT, Contains2 AS CASE WHEN 2 IN (Col1) THEN 1 ELSE 0 END PERSISTED) --depends on Col1 INSERT INTO @test (Col1) VALUES (ABS(CHECKSUM(NEWID()) % 5)), (ABS(CHECKSUM(NEWID()) % 5)), (ABS(CHECKSUM(NEWID()) % 5)), (ABS(CHECKSUM(NEWID()) % 5)), (ABS(CHECKSUM(NEWID()) % 5)) SELECT …

1
การออกแบบฐานข้อมูลสำหรับโดเมนธุรกิจวิดีโอเกมที่มีความสัมพันธ์แบบหลายต่อหลายคน
ฉันค่อนข้างใหม่ในการออกแบบฐานข้อมูลและฉันตัดสินใจที่จะสร้างฐานข้อมูลสมมุติของตัวเองเพื่อฝึกหัด อย่างไรก็ตามฉันมีปัญหาในการสร้างแบบจำลองและทำให้เป็นมาตรฐานในขณะที่ฉันเห็นว่ามีความสัมพันธ์แบบหลายต่อหลายคน (M: N) คำอธิบายภาพจำลองทั่วไป ฐานข้อมูลมีวัตถุประสงค์เพื่อเก็บข้อมูลเกี่ยวกับผู้คนที่ทำงานในซีรี่ส์ Zelda ฉันต้องการติดตามคอนโซลที่สามารถเล่นเกมได้พนักงานที่มีส่วนร่วมในการพัฒนาเกมงานที่พนักงานมี ( พนักงานหลายคนทำงานในงานที่แตกต่างกันในหลายเกม ) ฯลฯ กฎเกณฑ์ทางธุรกิจ หลายพนักงานสามารถทำงานได้ในหลายเกม หลายเกมสามารถอยู่บนเดียวกันคอนโซล Multiple Consolesสามารถเป็นแพลตฟอร์มสำหรับเกมเดียวกันได้ หลายพนักงานสามารถมีเหมือนกันงาน พนักงานสามารถมีหลายงาน เกมสามารถมีหลายพนักงาน เกมสามารถมีหลายประเภทของงานในการพัฒนาของมัน เกมหลายเกมสามารถแนบJobประเภทเดียวกันได้ คอนโซลสามารถมีหลายคนที่ทำงานกับมัน คนสามารถทำงานได้ในหลายConsoles ชื่อแอตทริบิวต์และค่าตัวอย่าง ชื่อพนักงานซึ่งสามารถแบ่งออกเป็นชื่อแรกและนามสกุล (เช่น“ John” และ“ Doe”) ชื่อเกม (ตัวอย่างเช่น "Ocarina of Time") ตำแหน่งงาน (ตัวอย่างเช่น "การออกแบบระดับ", "ผู้อำนวยการ", "ความสงบ", "ผู้ออกแบบระดับ", "โปรแกรมเมอร์", "การรองรับหลายภาษา" ฯลฯ ) ชื่อคอนโซล (ตัวอย่างเช่น“ Game Boy Advance”) …

2
วนซ้ำ CTE เพื่อหาผลรวมสำหรับเด็กทุกคน
นี่คือต้นไม้ประกอบที่ฉันต้องการค้นหาโดยใช้T-SQLแบบสอบถามซ้ำ(สมมุติCTE) ด้วยผลลัพธ์ที่คาดหวังด้านล่าง ฉันต้องการที่จะรู้จำนวนรวมต่อการชุมนุมที่ได้รับส่วนใดส่วนหนึ่ง หมายความว่าถ้าฉันค้นหา 'หมุดย้ำ' ฉันต้องการทราบจำนวนรวมในแต่ละระดับภายในการชุมนุมไม่ใช่เฉพาะจำนวนลูกโดยตรง Assembly (id:1) | |-Rivet |-Rivet |-SubAssembly (id:2) | | | |-Rivet | |-Bolt | |-Bolt | |-SubSubAssembly (id:3) | | | |-Rivet | |-Rivet | |-SubAssembly (id:4) |-Rivet |-Bolt DESIRED Results ------- ID, Count 1 , 6 2 , 3 3 , 2 4 …

4
Blockchain (Bitcoin) เป็นฐานข้อมูลหรือไม่?
ฉันอ่านบทความข่าวบีบีซีและข้อความที่ตัดตอนมาต่อไปนี้ดึงดูดความสนใจของฉัน ดูเหมือนว่าอยู่ในกลุ่มความพร้อมใช้งานเสมอหรือการมีความพร้อมใช้งานสูงซึ่งอาจรวมถึงความปลอดภัยโดยอัตโนมัติ blockchain เป็นโซลูชันฐานข้อมูลที่มีศักยภาพสำหรับแอพพลิเคชั่นปริมาณมากและทันสมัยหรือไม่? มันค่อนข้างง่ายที่จะเห็นว่ามันคุ้มค่าสำหรับการทำธุรกรรมในปริมาณต่ำเช่นเวชระเบียนส่วนตัว แต่ฐานข้อมูลปริมาณสูงเป็นอย่างไร blockchain คืออะไร Blockchains พึ่งพาการเข้ารหัสเพื่อให้คอมพิวเตอร์สามารถทำการเปลี่ยนแปลงบันทึกทั่วโลกโดยไม่จำเป็นต้องมีนักแสดงกลาง การลบคนกลางลดค่าใช้จ่ายในเกือบทุกภาค blockchain เป็นบัญชีแยกประเภทที่บันทึกทุกอย่างที่เกิดขึ้นกับการรวบรวมข้อมูลที่เรียกว่า "บล็อก" ตามลำดับเวลาหรือ "ห่วงโซ่" ในฐานะที่เป็นสกุลเงินนี่เป็นคุณสมบัติที่สำคัญเพราะช่วยให้ผู้ใช้มั่นใจได้ว่าเงินดิจิทัลของพวกเขาเป็นหนึ่งในวิธีเดียวกันทุกครั้งในกระเป๋าเงินของคุณจะไม่ซ้ำกัน “ เทคโนโลยี Blockchain เป็นวิธีที่เราสร้างสินทรัพย์เพราะจะช่วยให้คุณถ่ายโอนข้อมูลดิจิตอลโดยไม่ต้องคัดลอก” Adam Ludwin หัวหน้าผู้บริหารของ Chain.com กล่าวซึ่งสร้างเครือข่ายบล็อกเชน Blockchain สามารถใช้เพื่อติดตามประวัติของข้อมูลทุกประเภทและรักษาคุณค่าของมันตัวอย่างเช่นแพทย์สามารถใช้มันเพื่ออัพเดทเวชระเบียน เนื่องจากการเปลี่ยนแปลงแต่ละครั้งใน blockchain นั้นเกิดขึ้นพร้อมกันในเครือข่ายทั้งหมดจึงไม่มีข้อมูลสูญหายและเนื่องจากการเปลี่ยนแปลงไม่สามารถยกเลิกได้ระบบจะรักษาความโปร่งใส จำเป็นต้องใช้คีย์พิเศษในการเปลี่ยนแปลงแต่ละบล็อกเพื่อให้บุคคลสามารถเก็บบันทึกของพวกเขาปลอดภัยโดยการปกป้องคีย์นั้น

4
การจัดเก็บเส้นทางรถบัสในฐานข้อมูล
ฉันได้ทำการวิจัยแล้วและพบว่าฉันควรจัดเก็บเส้นทางตามลำดับจุดแวะพัก สิ่งที่ต้องการ: Start -> Stop A -> Stop B -> Stop C -> End ฉันสร้างสามตาราง: เส้นทาง หยุด RouteStops ... โดยที่RouteStopsเป็นตารางจุดแยก ฉันมีสิ่งที่ชอบ: เส้นทาง +---------+ | routeId | +---------+ | 1 | +---------+ | 2 | +---------+ สถานี +-----------+------+ | stationId | Name | +-----------+------+ | 1 | A | +-----------+------+ | …

1
ทำไมการเพิ่มคอลัมน์ NOT NULL ด้วยข้อ จำกัด เริ่มต้นทันที?
CREATE TABLE TestTab (ID INT IDENTITY(1,1), st nvarchar(100)) INSERT INTO TestTab (st) values ('a') INSERT INTO TestTab (st) values ('b') INSERT INTO TestTab (st) values ('c') INSERT INTO TestTab (st) values ('d') INSERT INTO TestTab (st) values ('e') INSERT INTO TestTab (st) SELECT TOP 10000 st from testtab GO 30 …

1
เหตุใดเขตเวลาจึงมีออฟเซ็ตออฟจาก UTC ในปี 0001 ใน Postgres อย่างบ้าคลั่ง
ใน Postgres 9.5 ฉันรู้สึกประหลาดใจเมื่อเห็นผลลัพธ์ที่เห็นด้านล่างขณะทำการทดสอบกับปี0001(ไม่มีศูนย์ปี0000) ออฟเซ็ตของ-07:52:58? ตัวอย่างรหัสบางส่วน โปรดทราบว่าฉันใช้ผสมกับTIMESTAMP WITH TIME ZONEและTIMESTAMP WITHOUT TIME ZONEดังนั้นอ่านอย่างระมัดระวัง SET TIME ZONE 'America/Los_Angeles' ; SELECT (TIMESTAMP WITH TIME ZONE '2015-01-01 00:00:00.0', TIMESTAMP WITH TIME ZONE '0001-01-01 00:00:00.0Z', TIMESTAMP WITHOUT TIME ZONE '0001-01-01 00:00:00.0Z') ; ("2015-01-01 00:00:00-08","0001-12-31 16:07:02-07:52:58 BC","0001-01-01 00:00:00") 0001-12-31 16:07:02-07:52:58 BCฉันกำลังประหลาดใจโดยค่าที่สองว่า ผมเข้าใจว่าเราต้องย้อนกลับไปแปดชั่วโมงเป็นAmerica/Los_Angelesเป็นแปดชั่วโมงที่อยู่เบื้องหลัง UTC กับ offset …

3
ผลกระทบของดัชนีในคำสั่งการอัพเดทที่คอลัมน์อัพเดตไม่ได้อยู่ในดัชนี
ฉันตลอดเวลาเห็นคนบอกว่าดัชนีชะลอตัวลงupdate, และdelete insertสิ่งนี้ถูกใช้เป็นคำสั่งแบบครอบคลุมราวกับว่ามันเป็นค่าสัมบูรณ์ ในขณะที่ปรับฐานข้อมูลของฉันเพื่อปรับปรุงประสิทธิภาพฉันยังคงเจอกับสถานการณ์นี้ที่ขัดแย้งกับกฎอย่างมีเหตุผลสำหรับฉันและไม่มีที่ไหนที่ฉันสามารถหาใครพูดหรืออธิบายในทางใดทางหนึ่ง ใน SQL Server และฉันเชื่อ / เข้าใจ DBMS อื่น ๆ ส่วนใหญ่ดัชนีของคุณจะถูกสร้างขึ้นตามคอลัมน์เฉพาะที่คุณระบุ ส่วนแทรกและการลบจะมีผลกับทั้งแถวเสมอดังนั้นจึงไม่มีวิธีที่จะไม่ส่งผลกระทบต่อดัชนี แต่การปรับปรุงดูเหมือนจะมีความเป็นเอกลักษณ์มากกว่านี้เล็กน้อย หากฉันมีคอลัมน์ที่ไม่รวมอยู่ในดัชนีใด ๆ และฉันอัปเดตพวกเขาจะชะลอตัวลงเพียงเพราะฉันมีดัชนีในคอลัมน์อื่น ๆ ในตารางนั้นหรือไม่ ตัวอย่างเช่นพูดในUserตารางของฉันฉันมีหนึ่งหรือสองดัชนีคีย์หลักซึ่งเป็นคอลัมน์ Identity / Auto เพิ่มคอลัมน์และอาจอื่นในคอลัมน์บางคีย์ต่างประเทศ หากฉันอัปเดตคอลัมน์ที่ไม่มีดัชนีโดยตรงเช่นพูดว่าหมายเลขโทรศัพท์หรือที่อยู่การอัปเดตนี้จะช้าลงเพราะฉันมีดัชนีในตารางนี้ในคอลัมน์อื่น ๆ ในสถานการณ์ใดสถานการณ์หนึ่งหรือไม่ คอลัมน์ที่ฉันกำลังอัปเดตไม่ได้อยู่ในดัชนีดังนั้นเหตุผลที่ควรอัปเดตดัชนีไม่ควรใช่ไหม ถ้ามีอะไรฉันคิดว่ามันจะถูกเร่งถ้าฉันใช้ดัชนีในส่วนคำสั่ง WHERE

3
ทำไม SQL Server จะไม่สนใจดัชนี
ผมมีตารางCustPassMasterที่มี 16 คอลัมน์ในนั้นซึ่งเป็นหนึ่งและฉันสร้างดัชนีCustNum varchar(8) IX_dbo_CustPassMaster_CustNumเมื่อฉันเรียกใช้SELECTคำสั่งของฉัน: SELECT * FROM dbo.CustPassMaster WHERE CustNum = '12345678' จะละเว้นดัชนีอย่างสมบูรณ์ สับสนนี้ฉันเป็นฉันมีตารางอีกCustDataMasterด้วยวิธีการคอลัมน์อื่น ๆ (55) CustNum varchar(8)ซึ่งหนึ่งในนั้นคือ ฉันสร้างดัชนีในคอลัมน์นี้ ( IX_dbo_CustDataMaster_CustNum) ในตารางนี้และใช้แบบสอบถามเดียวกันจริง: SELECT * FROM dbo.CustDataMaster WHERE CustNum = '12345678' และใช้ดัชนีที่ฉันสร้างขึ้น มีเหตุผลเฉพาะที่อยู่เบื้องหลังสิ่งนี้หรือไม่? ทำไมมันจะใช้ดัชนีจากCustDataMasterแต่ไม่จากCustPassMaster? มันเป็นเพราะการนับคอลัมน์ต่ำ? แบบสอบถามแรกส่งคืน 66 แถว สำหรับแถวที่สองจะส่งคืน 1 แถว นอกจากนี้หมายเหตุเพิ่มเติม: CustPassMasterมี 4991 บันทึกและCustDataMasterมี 5376 บันทึก นี่อาจเป็นเหตุผลที่ละเลยดัชนีหรือไม่ CustPassMasterยังมีระเบียนที่ซ้ำกันซึ่งมีCustNumค่าเหมือนกันเช่นกัน นี่เป็นปัจจัยอื่นหรือไม่ …

3
การป้องกันภัยพิบัติของฐานข้อมูล [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ฐานข้อมูลของฉันใหญ่กว่า 250GB ฉันสำรองข้อมูลตามกำหนดเวลาด้วยเครื่องมือของบุคคลที่สาม การสำรองฐานข้อมูลตามกำหนดเวลาเป็นวิธีที่ดีที่สุดในการปกป้องฐานข้อมูล SQL Server จากความเสียหายหรือไม่ หรือคุณจะแนะนำอย่างอื่นได้ไหม

1
วางดัชนีที่ไม่ได้ใช้ - ประเมินอันตรายที่ไม่คาดคิด
เรามีฐานข้อมูลขนาดใหญ่มากที่มีดัชนีที่ไม่ได้ใช้หลายร้อยตามสถิติ DMV ซึ่งได้รับการสะสมตั้งแต่เซิร์ฟเวอร์รีบูตครั้งล่าสุดในเดือนกรกฎาคม หนึ่งใน DBA ของเราทำข้อความเตือนต่อไปนี้ซึ่งไม่สมเหตุสมผลสำหรับฉัน: ก่อนที่เราจะวางดัชนีเราจำเป็นต้องตรวจสอบให้แน่ใจว่ามันไม่ได้บังคับใช้ข้อ จำกัด ที่ไม่ซ้ำกันเนื่องจากเครื่องมือเพิ่มประสิทธิภาพการสืบค้นอาจต้องมีดัชนีนี้อยู่ เมื่อใดก็ตามที่มีการสร้างดัชนีสถิติที่เกี่ยวข้องกับดัชนีนั้นจะถูกสร้างขึ้นใน SQL Server ด้วย แบบสอบถามอาจไม่ได้ใช้ดัชนี แต่อาจใช้สถิติของแบบสอบถาม ดังนั้นเราอาจพบสถานการณ์หลังจากวางดัชนีประสิทธิภาพการสืบค้นเฉพาะจะแย่มาก SQL Server ไม่เก็บสถิติการใช้งานของสถิติ แม้ว่าเราจะเปิดใช้งานคุณลักษณะ "สร้างสถิติอัตโนมัติ" ในฐานข้อมูลของเรา แต่ฉันไม่ทราบว่าจะต้องทำตามพารามิเตอร์ทั้งหมดภายในใดก่อนที่เครื่องมือเพิ่มประสิทธิภาพการสืบค้นจะสร้างสถิติที่ขาดหายไป เกี่ยวกับ # 1 ฉันคิดว่า SQL Server จะทำการค้นหาดัชนีเพื่อตรวจสอบความเป็นเอกลักษณ์ก่อนที่จะทำการแทรก / อัพเดทดังนั้นดัชนีจะไม่แสดงว่าไม่ได้ใช้งาน เกี่ยวกับข้อที่ 2 เป็นไปได้จริงหรือ โดยวิธีเมื่อฉันบอกว่าดัชนีไม่ได้ใช้ฉันหมายถึงไม่มีการค้นหาและไม่มีการสแกน
16 sql-server  index 

1
การเรียกใช้แพคเกจ SSIS จากงาน SQL Agent ที่เป็นเจ้าของโดยผู้ใช้โดเมนที่ไม่ใช่ sysadmin
ฉันมีแพคเกจ SSIS สองชุดที่เรียกใช้งานข้ามคืน (ผ่านทางตัวแทนของเซิร์ฟเวอร์ SQL) ซึ่งเป็นส่วนหนึ่งของการปรับใช้ SSIS ที่ใหญ่กว่าโดยไม่มีปัญหาใด ๆ ทุกอย่างใช้การรับรองความถูกต้องของ Windows และงานที่กำหนดเวลาเป็น sysadmin (ดีฉัน) และทำงานเป็นบัญชีบริการตัวแทนของเซิร์ฟเวอร์ SQL ดังนั้นข้อมูลจึงsource system ~> transit db ~> staging ~> NDSค้างคืน SSIS สองแพ็คเกจที่ฉันสนใจจัดการtransit db ~> stagingและstaging ~> NDSส่วนต่าง ๆ ตามลำดับสำหรับชุดข้อมูลเฉพาะ ผู้ใช้โดเมน (ไม่ใช่ผู้ดูแลระบบ) ทำอะไรในsource systemและผลักดันข้อมูลที่น่าสนใจเข้ามาtransit dbดังนั้นฉันต้องการวิธีที่จะดึงข้อมูลที่อัปเดตนี้ในระหว่างชั่วโมงทำงานเพื่ออัปเดตNDS: มีการตัดสินใจว่าวิธีที่ง่ายที่สุดสำหรับบุคคลนี้ในการเรียก ETL นั้นโดยคลิกปุ่มในสมุดงาน Excel ที่เปิดใช้งานแมโครซึ่งเชื่อมต่อกับ SQL Server ผ่าน ODBC (โดยใช้การพิสูจน์ตัวจริงของ Windows) …

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