คำถามติดแท็ก sql-server

Microsoft SQL Server ทุกรุ่น (ไม่ใช่ MySQL) โปรดเพิ่มแท็กเฉพาะเวอร์ชันเช่น sql-server-2016 เนื่องจากมักเกี่ยวข้องกับคำถาม

1
การใช้เธรดของผู้ปฏิบัติงานระดับสูง HADR
เหตุใดจำนวนเธรดผู้ปฏิบัติงานของกลุ่มความพร้อมใช้งานในพูล HADR จะเพิ่มขึ้นมากกว่าการใช้งานขั้นต่ำของ " โดยทั่วไปแล้วจะมีเธรดที่ใช้ร่วมกัน 3-10 เธรด " ต่อแบบจำลอง ในกรณีหนึ่งเราได้สังเกตการใช้งาน 300+ เธรดที่มีกลุ่มความพร้อมใช้งาน 3 กลุ่มและรวม 10 ฐานข้อมูล SQL Server 2014 SP1 โอกาสในการขายของเราคือการสำรองข้อมูลในแบบจำลองสำรองกิจกรรมระดับสูงในแบบจำลองหลักรายงานเกี่ยวกับแบบจำลองรอง AG อยู่ในดาต้าเซ็นเตอร์บน VMware ทั้งหมด 16 schedulers รวมหัวข้อคนงานปกติอยู่ภายใต้ 200 ช่วง max_dopบนเซิร์ฟเวอร์คือ 2 3 AG, 10 DB, 4 replica แต่ละอัน - primary, 2 readonly, 1 ไม่สามารถอ่านได้ 1 ที่สองคือซิงค์ 2 async 16 …

3
การสำรองหลายฐานข้อมูลไปยังจุดเดียวกันในเวลา
โดยปกติเมื่อเราเริ่มการสำรองข้อมูลเราไม่อนุญาตให้มีการเปลี่ยนแปลงการกระทำหรือฐานข้อมูลจะไม่สามารถเข้าถึงได้ ฉันหมายถึงฐานข้อมูลจะอยู่ในโหมดผู้ใช้คนเดียว แต่ฉันต้องการเริ่มการสำรองข้อมูลและปล่อย db สำหรับการใช้งาน นอกจากนี้เมื่อฉันเริ่มการสำรองข้อมูลฉันไม่ต้องการให้การเปลี่ยนแปลงอย่างต่อเนื่องถูกเขียนลงในไฟล์สำรอง ฉันต้องการทราบว่าฉันสามารถบรรลุสิ่งนี้ใน Microsoft SQL Server 2012 ได้อย่างไรโปรดช่วยฉันด้วย ให้ฉันอธิบายปัญหาของฉันก่อน ขณะนี้ฉันกำลังตั้งค่าฐานข้อมูลเป็นโหมดผู้ใช้คนเดียวจนกว่าการสำรองข้อมูลจะเสร็จสมบูรณ์ โหมดนี้จะให้บริการตามวัตถุประสงค์ของฉันในการหลีกเลี่ยงการเปลี่ยนแปลงข้อมูลเมื่อมีการสำรองข้อมูลอยู่ แต่แอปพลิเคชันของฉันเชื่อมโยงกับหลายฐานข้อมูล (แต่ละฐานข้อมูลเชื่อมโยงกันและมี var dbs ที่สร้างขึ้นเป็นรายเดือน) ดังนั้นการสำรองฐานข้อมูลเหล่านี้จึงเป็นกระบวนการที่น่าเบื่อและที่สำคัญฉันต้องป้องกันไม่ให้ผู้ใช้ออกจากระบบเมื่อมีการสำรองข้อมูล ดังนั้นฉันกำลังมองหากลไกการสำรองข้อมูลซึ่งจะตอบสนองความต้องการดังกล่าวด้านล่าง เริ่มการสำรองข้อมูล dbs ทั้งหมดในแต่ละครั้งและปล่อย db สำหรับการใช้งาน เนื่องจากฐานข้อมูลเชื่อมโยงกันฉันต้องการให้ความสอดคล้องของข้อมูลในไฟล์สำรอง ดังนั้นเนื่องจากข้อกำหนดความสอดคล้องของข้อมูลนี้ฉันไม่ต้องการให้การเปลี่ยนแปลงดำเนินไปกับไฟล์สำรองของฉัน สิ่งที่ฉันต้องการคือ - สำรองข้อมูล dbs ทั้งหมดในเวลาที่กำหนด

4
ค้นหา IP หรือผู้ใช้ทั้งหมดที่เข้าถึง SQL Server ที่ระบุ
สมมติว่าฉันพบ SQL Server และฉันไม่รู้ว่าแอปพลิเคชันใดที่เชื่อมต่อกับมัน บางทีฉันอาจพบแอปพลิเคชั่นเดียว แต่ฉันไม่แน่ใจว่าเป็นแอปพลิเคชั่นเดียวที่ใช้หรือไม่ มีวิธีที่ดีในการค้นหาการเชื่อมต่อที่แตกต่างกันทั้งหมดหรือไม่?

3
หากคุณไม่ย้อนกลับธุรกรรมจะยังคงมีการเปลี่ยนแปลงหรือไม่
สมมติว่าฉันกำลังเรียกใช้แบบสอบถาม begin tran update users set name = 'Jimmy' where name = 'john' หากฉันไม่ย้อนกลับธุรกรรมการเปลี่ยนแปลงเหล่านี้จะยังคงเกิดขึ้นมันจะเกิดข้อผิดพลาดหรือจะทำหน้าที่เป็นการย้อนกลับหรือไม่
10 sql-server 

1
วิธีหลีกเลี่ยงการใช้แบบสอบถามแบบผสานเมื่อทำซ้ำหลายข้อมูลโดยใช้พารามิเตอร์ xml
ฉันกำลังพยายามอัปเดตตารางด้วยอาร์เรย์ของค่าต่างๆ แต่ละรายการในอาร์เรย์มีข้อมูลที่ตรงกับแถวในตารางในฐานข้อมูล SQL Server หากแถวนั้นมีอยู่แล้วในตารางเราจะอัปเดตแถวนั้นด้วยข้อมูลในอาร์เรย์ที่กำหนด มิฉะนั้นเราจะแทรกแถวใหม่ในตาราง ฉันได้อธิบายโดยทั่วไปเพิ่มขึ้น ตอนนี้ฉันกำลังพยายามทำให้สำเร็จในโพรซีเดอร์ที่เก็บไว้ซึ่งใช้พารามิเตอร์ XML เหตุผลที่ฉันใช้ XML และไม่ใช่พารามิเตอร์ที่มีค่าเป็นตารางเนื่องจากฉันจะต้องสร้างประเภทที่กำหนดเองใน SQL และเชื่อมโยงประเภทนี้กับกระบวนงานที่เก็บไว้ หากฉันเปลี่ยนบางสิ่งบางอย่างในขั้นตอนการจัดเก็บหรือ db schema ของฉันลงที่ถนนฉันจะต้องทำซ้ำทั้งขั้นตอนการจัดเก็บและประเภทที่กำหนดเอง ฉันต้องการหลีกเลี่ยงสถานการณ์นี้ นอกจากนี้ความเหนือกว่าที่ TVP มีเหนือ XML ไม่มีประโยชน์สำหรับสถานการณ์ของฉันเพราะขนาดอาร์เรย์ข้อมูลของฉันจะไม่เกิน 1,000 ซึ่งหมายความว่าฉันไม่สามารถใช้โซลูชันที่เสนอที่นี่: วิธีแทรกหลายระเบียนโดยใช้ XML ใน SQL Server 2008 นอกจากนี้ยังมีการอภิปรายที่คล้ายกันที่นี่ ( UPSERT - มีทางเลือกที่ดีกว่าสำหรับ MERGE หรือ @@ rowcount หรือไม่ ) แตกต่างจากที่ฉันขอเพราะฉันพยายามเพิ่มหลายแถวไปยังตาราง ฉันหวังว่าฉันจะใช้ชุดคำสั่งต่อไปนี้เพื่อเพิ่มค่าจาก xml แต่นี่จะไม่ทำงาน วิธีการนี้ควรทำงานเมื่ออินพุตเป็นแถวเดียว begin tran …

2
ปริมาณการใช้หน่วยความจำของ SQL Server 2012 ภายนอกพูลบัฟเฟอร์
ฉันมีอินสแตนซ์ของ SQL Server 2012 SP2 Enterprise Edition ที่ใช้หน่วยความจำประมาณ 20GB สูงกว่าค่าสูงสุด ขีด จำกัด หน่วยความจำ อินสแตนซ์ถูก จำกัด ที่ 65GB แต่หน่วยความจำกายภาพที่ใช้งานจากแบบสอบถามด้านล่างแสดง 86GB SELECT (physical_memory_in_use_kb/1024)/1024 AS [PhysicalMemInUseGB] FROM sys.dm_os_process_memory; GO เซิร์ฟเวอร์มีอยู่จริงโดยมี 2 NUMA โหนด มีวิธีที่ฉันสามารถค้นหาสิ่งที่ใช้หน่วยความจำภายนอกของบัฟเฟอร์พูล (ฉันสมมติว่าเกิดอะไรขึ้น) นี่คือผลลัพธ์ของ DBCC MEMORYSTATUS: - และนี่คือขีด จำกัด หน่วยความจำที่ตั้งไว้: - ขอบคุณล่วงหน้า. ปรับปรุง: - ฉันเรียกใช้แบบสอบถามที่แอรอนแนะนำ SELECT TOP (20) * FROM sys.dm_os_memory_clerks …

1
รับการบันทึกขั้นต่ำเมื่อโหลดข้อมูลลงในตารางชั่วคราว
แม้หลังจากอ่านคู่มือการโหลดข้อมูลฉันยังคงไม่แน่ใจว่าจำเป็นต้องเพิ่มตาราง TABLOCK คำใบ้ลงในตารางชั่วคราวที่ว่างเปล่าซึ่งกำหนดด้วยดัชนีคลัสเตอร์เพื่อรับการบันทึกขั้นต่ำ เห็นได้ชัดว่าตาราง temp นั้นสร้างขึ้นใน TempDB ซึ่งทำงานในโหมดการกู้คืนแบบง่ายดังนั้นฉันจึงคิดว่ามันเป็นตัวเลือกที่สมบูรณ์แบบสำหรับการบันทึกที่น้อยที่สุด แต่ฉันไม่สามารถหาข้อความเพื่อยืนยันได้ เป็นตารางชั่วคราวที่เป็นตัวเลือกสำหรับการบันทึกขั้นต่ำและถ้าเป็นเช่นนั้นมันก็คุ้มที่จะเพิ่ม TABLOCK hint ตามที่แนะนำสำหรับตารางถาวรหรือไม่

2
ต้องการส่งอีเมล HTML ที่จัดรูปแบบผ่านจดหมายฐานข้อมูลใน SQL Server 2008 R2
ความต้องการของฉันคือการสร้างอีเมลอัตโนมัติเป็น (อีเมล HTML ที่จัดรูปแบบผ่านทางจดหมายฐานข้อมูล) ความต้องการขั้นพื้นฐานเสร็จสมบูรณ์เมื่องานถูกเรียกมันแทรกข้อมูลลงในตารางและข้อมูลที่ได้รับการกำหนดให้ส่งเป็นอีเมล แต่ตอนนี้ไคลเอนต์ร้องขอในรูปแบบนี้ รูปแบบปัจจุบันที่ฉันทำ PO Date:2014-11-26 PO ID:PO1 SAP Ref:0001106102 GRN:1067 DealerID:045 Dealer Name:ABC(Pvt)Ltd. 2 Status:New รูปแบบที่ร้องขอโดยไคลเอ็นต์ในตารางเช่นเดียวกับรูปแบบ PO Date |PO ID| SAP Ref| GRN|DealerID|Dealer Name|Status นี่คือ SQL Query ที่ฉันใช้เพื่อแทรกข้อมูลลงใน Email_Table (_ERROR_MAIL) และสิ่งนี้จะต้องเป็นไปตามความต้องการ IF EXISTS (SELECT * FROM sysobjects WHERE type = 'P' AND name = 'ImpCancelledGRN') BEGIN …

2
วิธีที่ดีที่สุดในการสร้างไดอะแกรมฐานข้อมูลสำหรับ SQL Azure โดยไม่ต้องติดตั้ง SQL Server คืออะไร
ฉันมีฐานข้อมูลบน SQL Azure และต้องการสร้างไดอะแกรมฐานข้อมูล แต่ไม่ต้องการติดตั้งเซิร์ฟเวอร์ SQL และคัดลอกฐานข้อมูลเป็นต้นมีวิธีใดที่ฉันสามารถทำได้ที่ทุกคนรู้

1
“ การเข้ารหัสลับข้อมูล” เทียบกับ“ บังคับใช้การเข้ารหัสลับโพรโทคอล” ใน SQL Server
ฉันพยายามที่จะเข้าใจว่าการตั้งค่าที่แตกต่างกันมีผลต่อพฤติกรรมของการสื่อสารกับเซิร์ฟเวอร์ของฉันอย่างไร บนเซิร์ฟเวอร์ฉันได้ติดตั้ง CA ที่ลงนามด้วยตนเองพร้อมกับใบรับรองการแลกเปลี่ยนที่ออกซึ่งได้รับการกำหนดค่าให้ใช้งานโดยบริการ SQL ของฉัน ตอนแรกฉันต้องการเห็นการเชื่อมต่อนี้ล้มเหลวเมื่อไม่ได้ติดตั้งรูท CA ในไคลเอนต์ แต่สิ่งที่ฉันทำมันดูเหมือนจะทำงานอยู่แล้ว เพื่อให้เข้าใจได้ดีขึ้นว่าเหตุใดฉันจึงพยายามทำรายการตัวเลือกทั้งหมดและผลกระทบที่ควรจะเกิดขึ้น แต่ฉันไม่แน่ใจว่าฉันเข้าใจถูกต้องแล้ว ... ใครช่วยกรุณาแก้ไขและเติมส่วนที่ขาดหายไปได้ไหม เมื่อเปิดใช้งานการตั้งค่า "การเข้ารหัสบังคับ " บน SQL Server: ในทางปฏิบัติสิ่งนี้เหมือนกับการตั้งค่าEncrypt=True;TrustServerCertificate=True;ในสตริงการเชื่อมต่อของฉัน ลูกค้าไม่ได้บอกว่าควรใช้การเข้ารหัสหรือไม่และควรให้เซิร์ฟเวอร์เชื่อถือได้หรือไม่ ตัวเลือกนี้สามารถใช้เพื่อเข้ารหัสอินสแตนซ์ของบริการแต่ละรายการ รองรับ certs ที่ลงนามด้วยตนเองโดยไม่มี CA เมื่อเปิดใช้งานการตั้งค่า" บังคับใช้การเข้ารหัสลับโพรโทคอล " บน SQL Server: การเชื่อมต่อไคลเอนต์ทั้งหมดไปยังบริการทั้งหมดบนเซิร์ฟเวอร์ถูกเข้ารหัส ต้องใช้ใบรับรองการแลกเปลี่ยนที่ออกโดย CA ที่เชื่อถือได้ที่มีอยู่ในไคลเอนต์และเซิร์ฟเวอร์ เมื่อใช้การตั้งค่า" Force Protocol Encryption " บนไคลเอ็นต์: ไคลเอนต์เดี่ยวนี้จะบังคับใช้ SSL และต้องมีหนังสือรับรองการแลกเปลี่ยนที่ออกโดย CA ที่เชื่อถือได้ที่มีอยู่ในเครื่องนี้ หากไม่มีการเชื่อมต่อนี้จะล้มเหลว เมื่อเปิดใช้งานการตั้งค่า …

2
การดำเนินการแตกต่างสมมาตรใน Transact-SQL?
ฉันได้รู้จักกันเสมอเกี่ยวกับUNIONผู้ประกอบการใน SQL แต่เมื่อเร็ว ๆ นี้พบว่ามีผู้ประกอบการชุดอื่น ๆและINTERSECT EXCEPTฉันไม่สามารถค้นหาผู้ดำเนินการที่ดำเนินการชุดใหญ่ชุดที่สี่ความแตกต่างแบบสมมาตร (เช่นตรงข้ามกับINTERSECT) ดูเหมือนว่าฉันจะได้รับผลลัพธ์ที่ต้องการโดยใช้สิ่งที่ชอบ SELECT Field FROM A UNION SELECT Field FROM B EXCEPT SELECT Field FROM A INTERSECT SELECT Field FROM B (สมมติว่าฉันมีสิทธิ์เหนือกว่า) หรือด้วยการเข้าร่วมต่อต้านแบบเต็ม: SELECT A.Field, B.Field FROM A FULL JOIN B ON B.Id = A.Id WHERE B.Id IS NULL OR A.Id IS NULL …
10 sql-server  t-sql 

2
ฉันจะสร้างคอลัมน์แทนแบบไดนามิกได้อย่างไร
ฉันมีตาราง (ไม่ได้ออกแบบโดยฉัน) ซึ่งมี 20 คอลัมน์ชื่อแตกต่างกัน นั่นคือขึ้นอยู่กับชนิดของระเบียนที่คุณกำลังดูชื่อที่เกี่ยวข้องของคอลัมน์สามารถเปลี่ยนแปลงได้ ชื่อคอลัมน์ที่เป็นไปได้จะถูกเก็บไว้ในอีกตารางหนึ่งซึ่งฉันสามารถสืบค้นได้ง่ายมาก ดังนั้นข้อความค้นหาที่ฉันกำลังมองหาจะเป็นดังนี้: SELECT Col1 AS (SELECT ColName FROM Names WHERE ColNum = 1 and Type = @Type), Col2 AS (SELECT ColName FROM Names WHERE ColNum = 2 and Type = @Type) FROM Tbl1 WHERE Type = @Type เห็นได้ชัดว่าใช้งานไม่ได้ดังนั้นฉันจะได้ผลลัพธ์ที่คล้ายกันได้อย่างไร ' ฉันได้ลองสร้างสตริงข้อความค้นหาแล้วEXECUTEค่อยส่งคืน แต่ก็แค่คืน "Command (s) เสร็จสมบูรณ์แล้ว" …

4
มีวิธีที่รวดเร็วในการค้นหาคอลัมน์ทั้งหมดใน SQL Server 2008 R2 ที่เข้ารหัส / มีข้อมูลที่เข้ารหัสหรือไม่
มีวิธีที่รวดเร็วในการค้นหาคอลัมน์ทั้งหมดใน SQL Server 2008 R2 ที่เข้ารหัส / มีข้อมูลที่เข้ารหัสหรือไม่ ฉันต้องการลบล้างข้อมูลในคอลัมน์ที่เข้ารหัสทั้งหมดในเซิร์ฟเวอร์การพัฒนา (ตามกฎทางธุรกิจของเรา) ฉันรู้ว่าส่วนใหญ่ของคอลัมน์เพราะเราใช้พวกเขาเป็นประจำ แต่ฉันต้องการที่จะอย่างละเอียดและฉันต้องการที่จะพิสูจน์ว่าฉันได้พบพวกเขาทั้งหมด ฉันค้นหาเว็บแล้วดูในINFORMATION_SCHEMAและตรวจสอบ DMV ที่ฉันคิดว่าน่าจะมีประโยชน์และยังมีsys.columnsและsys.objects ด้วย - แต่จนถึงตอนนี้ก็ไม่มีโชค

3
วิธีซ่อนแถวในรายงาน SSRS
ฉันพยายามที่จะคิดออกว่าฉันจะซ่อนแถวเหล่านั้นในรายงานของฉันได้อย่างไรที่การจัดสรรรวมและต้นทุนทั้งหมดในคอลัมน์ทั้งสองเป็น 0 ใน SSRS 2008 ตัวอย่างเช่น: การจัดสรรโดยรวมต้นทุนจริงทั้งหมด 0 0 <---- ซ่อน 100,00 0 <---- อย่าซ่อน 0 50,0000 <---- อย่าซ่อน นี่คือภาพหน้าจอ: ขอบคุณ

3
ฉันจะสร้างตารางด้วยคอลัมน์ที่ใช้ลำดับได้อย่างไร
ฉันมีดังต่อไปนี้ CREATE TABLE [MyTable] ( [ID] [bigint] PRIMARY KEY NOT NULL, [Title] [nvarchar](64) NOT NULL ) CREATE SEQUENCE MyTableID START WITH 1 INCREMENT BY 1 NO CACHE ; GO ฉันต้องการแทรกระเบียนใหม่ใน MyTable และตั้งค่า ID เป็นค่าลำดับถัดไป ฉันจะทำมันได้อย่างไร อาจจะเป็นทริกเกอร์หรือมีวิธีอื่นอีกไหม? อย่างไร? ขณะที่ผมกำลังใช้ SQL Server 2012, ฉันไม่ต้องการที่จะใช้บัตรประจำตัวเนื่องจากมีปัญหาช่องว่าง

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