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

SQL Server 2012 (รุ่นบิลด์หลัก 11.00.xxxx) โปรดติดแท็ก sql-server ด้วย

4
ทางเลือกชุดเครื่องมือ SSMS [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับผู้ดูแลฐานข้อมูล Exchange Exchange ปิดให้บริการใน5 ปีที่ผ่านมา มีเครื่องมือใดบ้างเทียบได้กับSSMS Tools Pack 2012หรือไม่ การออกใบอนุญาต ($ 30 ต่อเครื่อง, $ 100 สำหรับเครื่องจำนวนเท่าใดก็ได้ ... เป็นเวลา 3 เดือน) เป็นที่ต้องการอย่างมากและฉันก็ไม่แน่ใจว่ามีตัวเลือกอื่นใดบ้าง ตัวอย่างเช่นสิ่งหนึ่งที่ฉันคิดถึงคือ "บันทึกทุกแบบสอบถามที่คุณเรียกใช้" เมื่อทำการซ่อมแซมและทำการค้นคว้าข้อมูลมันมีค่ามากที่จะมีการสำรองข้อมูลการสืบค้นของรุ่นที่แตกต่างกันของแบบสอบถามที่ฉันเรียกใช้ หรือเมื่อฉันรู้ว่าฉันไม่มีการสำรองข้อมูลของแบบสอบถามที่ฉันกำลังทำงานใน 2 เดือนที่ผ่านมา ชี้แจง: สตูดิโอการจัดการเซิร์ฟเวอร์ SQL ไม่มีการสนับสนุนเพิ่มเติมอย่างเป็นทางการ แต่มีเครื่องมือบางอย่างที่นั่น SSMS Tools Pack เป็นชุดที่ฉันชอบมาก (รุ่น 2005, 2008) แต่ค่าลิขสิทธิ์สำหรับปี 2012 นั้นแย่มาก (ฉันจะจ่ายค่าลิขสิทธิ์ที่สมเหตุสมผล แต่นั่นไม่ใช่คำถามที่นี่) ฉันได้พบSSMS Boost …

1
วางแผนขนาดแคชและหน่วยความจำที่สงวนไว้
เมื่อรันเคียวรีรวมถึงแผนการดำเนินการตามจริงผู้ดำเนินการรูท ( SELECT) จะบอกฉันว่าขนาดแผนแคชคือ 32KB แบบสอบถามที่เข้าร่วมsys.dm_exec_cached_plansและsys.dm_os_memory_objectsมองไปที่แผนดังกล่าวกล่าวว่าค่าสำหรับpages_in_bytesและmax_pages_in_bytesคือ 32768 (32KB) ซึ่งตรงกับขนาดแผนแคช สิ่งที่ฉันไม่เข้าใจคือสิ่งที่มีค่าsys.dm_exec_cached_plans.size_in_bytesซึ่งคือ 49152 (48KB) ฉันได้อ่าน BOL ในคอลัมน์เหล่านี้ทั้งหมดและโดยเฉพาะsize_in_bytesที่บอกว่า: " จำนวนไบต์ที่ใช้โดยวัตถุแคช " ฉันไม่สามารถรับจิ๊กซอว์ชิ้นสุดท้ายได้เพื่อทำความเข้าใจความหมายของมัน ฉันรู้ว่าตัวดำเนินการทั้งหมด (ไม่ได้พูดถึงการให้สิทธิ์หน่วยความจำเพิ่มเติมที่ใช้สำหรับการเรียงลำดับและแฮช) ต้องใช้หน่วยความจำคงที่จำนวนหนึ่งเพื่อจัดเก็บสถานะทำการคำนวณ ฯลฯ ซึ่งจัดเก็บไว้ด้วยแผนเพิ่มประสิทธิภาพในแคช ดังนั้นคำถามของฉันคือ: อะไรsize_in_bytesจริงๆหมายถึง เพราะเหตุใดจึงมีมูลค่าสูงกว่า "ขนาดแผนแคช" จำนวนหน่วยความจำคงที่สำหรับตัวดำเนินการทั้งหมด / ตัวจองที่จองไว้กับ "ขนาดแผนแคช" (32Kb ในตัวอย่างของฉัน) หรือที่อื่น? ฉันรู้ว่าพวกเขาเป็น DMV ที่แตกต่างกันและมีฟังก์ชั่นต่างกัน แผนเรียบเรียง (แคช) sys.dm_exec_cached_plansรวมsys.dm_os_memory_objectsในmemory_object_addressคอลัมน์ เหตุผลที่ฉันโพสต์คำถามที่นี่คือฉันขอความช่วยเหลือในเรื่องนี้เข้าใจวิธีตีความ DMV และคอลัมน์ของพวกเขา ถ้าsize_in_bytesขนาดของแผนแคชทำไม SQL Server ถึงพูดถึงค่าอื่นในแผนการดำเนินการจริง แบบสอบถามใหม่หมายเลขใหม่: แผนจริง …

1
TVF ที่มีหลายงบและประสิทธิภาพแบบอินไลน์ TVF
การเปรียบเทียบคำตอบบางส่วนกับคำถาม Palindrome (เฉพาะผู้ใช้ 10k + เท่านั้นเนื่องจากฉันได้ลบคำตอบแล้ว) ฉันจึงได้ผลลัพธ์ที่สับสน ฉันเสนอTVFซึ่งมีหลายสคีมาซึ่งฉันคิดว่าน่าจะเร็วกว่าการใช้งานฟังก์ชั่นมาตรฐานซึ่งเป็น ฉันยังอยู่ภายใต้ความประทับใจที่ TVF หลายงบจะ "อินไลน์" แม้ว่าฉันจะผิดในการนับที่คุณจะเห็นด้านล่าง คำถามนี้เกี่ยวกับความแตกต่างด้านประสิทธิภาพของ TVF ทั้งสองรูปแบบ ก่อนอื่นคุณจะต้องเห็นรหัส นี่คือ TVF หลายงบ: IF OBJECT_ID('dbo.IsPalindrome') IS NOT NULL DROP FUNCTION dbo.IsPalindrome; GO CREATE FUNCTION dbo.IsPalindrome ( @Word NVARCHAR(500) ) RETURNS @t TABLE ( IsPalindrome BIT NOT NULL ) WITH SCHEMABINDING AS BEGIN DECLARE …

1
“ ไม่สามารถสร้างแถวที่มีขนาด 8074 ซึ่งมากกว่าขนาดแถวสูงสุดที่อนุญาตได้ที่ 8060” ในขณะที่เปลี่ยนตาราง
ฉันกำลังพยายามเปลี่ยนคอลัมน์ในตาราง ตารางที่มีอยู่เป็นดังนี้: CREATE TABLE [dbo].[table]( [id1] [int] NOT NULL, [id2] [int] NOT NULL, [id3] [int] NOT NULL, [name] [nvarchar](255) NOT NULL, [id4] [int] NOT NULL, [xmlData] [xml](CONTENT [dbo].[xml_schema]) NULL, [booleanData1] [bit] NOT NULL, [notes] [varchar](4096) NULL, [id5] [int] NULL, [booleanData2] [bit] NULL, [id6] [int] NULL, CONSTRAINT [PK_table] PRIMARY KEY CLUSTERED …

3
ทำไมการเข้าร่วม cardinality นี้จึงมีขนาดใหญ่มาก?
ฉันกำลังประสบกับสิ่งที่ฉันคิดว่ามีค่าระดับความเป็นหัวใจสูงสำหรับการค้นหาต่อไปนี้: SELECT dm.PRIMARY_ID FROM ( SELECT COALESCE(d1.JOIN_ID, d2.JOIN_ID, d3.JOIN_ID) PRIMARY_ID FROM X_DRIVING_TABLE dt LEFT OUTER JOIN X_DETAIL_1 d1 ON dt.ID = d1.ID LEFT OUTER JOIN X_DETAIL_LINK lnk ON d1.LINK_ID = lnk.LINK_ID LEFT OUTER JOIN X_DETAIL_2 d2 ON dt.ID = d2.ID LEFT OUTER JOIN X_DETAIL_3 d3 ON dt.ID = d3.ID ) …

2
ช่องว่างที่ไม่คาดคิดในคอลัมน์ IDENTITY
ฉันพยายามสร้างหมายเลขใบสั่งซื้อที่ไม่ซ้ำกันซึ่งเริ่มต้นที่ 1 และเพิ่มขึ้นทีละ 1 ฉันมีตาราง PONumber ที่สร้างโดยใช้สคริปต์นี้: CREATE TABLE [dbo].[PONumbers] ( [PONumberPK] [int] IDENTITY(1,1) NOT NULL, [NewPONo] [bit] NOT NULL, [DateInserted] [datetime] NOT NULL DEFAULT GETDATE(), CONSTRAINT [PONumbersPK] PRIMARY KEY CLUSTERED ([PONumberPK] ASC) ); และขั้นตอนการจัดเก็บที่สร้างขึ้นโดยใช้สคริปต์นี้: CREATE PROCEDURE [dbo].[GetPONumber] AS BEGIN SET NOCOUNT ON; INSERT INTO [dbo].[PONumbers]([NewPONo]) VALUES(1); SELECT SCOPE_IDENTITY() AS …

3
ข้อความแสดงข้อผิดพลาด - สิทธิ์การดูสถานะเซิร์ฟเวอร์ถูกปฏิเสธ - เมื่อเชื่อมต่อกับ SQL Server 2014 โดยใช้ SQL Server 2012 Management Studio
เมื่อคลิกขวาบนโต๊ะและเลือก "select top 1000 rows" ฉันได้รับข้อผิดพลาดนี้: มีวิธีแก้ปัญหาอื่นนอกเหนือจากการอัพเกรดเป็น SQL Server 2014 อย่างชัดเจนหรือไม่?

3
ตรวจสอบความคืบหน้าของการแก้ไขการจัดระเบียบดัชนีใหม่ / สร้างใหม่
ฉันจะตรวจสอบความคืบหน้า / สถานะได้อย่างไรเมื่อฉันส่งการเปลี่ยนแปลงดัชนีการจัดระเบียบใหม่ / สร้างใหม่?

2
ลดขนาดบันทึกธุรกรรมขณะใช้กลุ่มความพร้อมใช้งาน AlwaysOn
เรากำลังใช้AlwaysOn Availability Groupคุณสมบัติของ SQL Server 2012 สำรองฐานข้อมูลเต็มรูปแบบปกติและสำรองข้อมูลบันทึกธุรกรรมจะทำทุกวันในฐานข้อมูลรอง ฉันได้อ่านที่นี่ในการทำสำรองข้อมูลบันทึกธุรกรรมบนทั้งเรพลิกาหลักหรือเรพพลิเคชั่นสำรองจะทำเครื่องหมายบันทึกธุรกรรมของเรพพลิกาทั้งสองว่าสามารถใช้ซ้ำได้ อย่างไรก็ตามขนาดการสำรองข้อมูลบันทึกธุรกรรมมีขนาดใหญ่และสามารถลดลงได้โดยใช้ไฟล์ย่อขนาด: ฉันกู้คืนฐานข้อมูลในเครื่องแล้วทำการดำเนินการย่อขนาด ขนาดของไฟล์บันทึกลดลงเหลือ 160 MB คำถามของฉันอยู่ที่ฐานข้อมูลใดที่ฉันควรทำการลดขนาดไฟล์ล็อกธุรกรรม (หลักรองหรือทั้งสองอย่าง)? ฉันเดาว่าในอดีตเป็นเวลาหลายปีที่ไม่มีไฟล์แบ็คอัพสำรองดังนั้นมันจึงใหญ่มาก การดำเนินการDBCC SQLPERF (LOGSPACE)ฉันจะเห็นว่ามี0.06%การใช้ไฟล์เท่านั้น - ไม่มีจุดใดที่ฉันจะเก็บไฟล์บันทึกขนาดใหญ่เช่นนี้ได้ ใน[sys].[database_files]ฉันจะตรวจสอบว่าmax_sizeมีการตั้งค่า-1กับgrowthการ65536ดังนั้นฉันเดาเมื่อมันต้องมีพื้นที่ว่างมากขึ้นก็จะได้รับ อย่างไรก็ตามฉันสามารถลดขนาดมันเป็น 5% เพื่อป้องกันการเติบโตในอนาคต ฉันกำลังพยายามหาคำยืนยันว่าฉันไม่คิดที่จะทำเช่นนั้น อันที่จริงแล้วการแบ็คอัพ (ในฐานข้อมูลและไฟล์บันทึก) จะดำเนินการเฉพาะในฐานข้อมูลรองดังนั้นมันจะง่ายกว่าที่จะทำการลดขนาดไฟล์ลง แต่ขนาดล็อกไฟล์หลักจะลดลงเช่นกัน?

2
ฉันจะบอกได้ว่ามีการใช้งาน Cores SQL Server จำนวนเท่าใด
ฉันมีเซิร์ฟเวอร์สองเครื่องที่ใช้ SQL Server เซิร์ฟเวอร์ 1: SQL Server 2008 R2 Express (4 คอร์) เซิร์ฟเวอร์ 2: SQL Server 2012 Developer Edition (8 คอร์) เท่าที่ฉันทราบ SQL Server 2008 R2 Express ควรใช้หนึ่งคอร์เท่านั้น รุ่นนักพัฒนาของ SQL Server 2012 ควรใช้ 8 คอร์ทั้งหมด อย่างไรก็ตามถ้าฉันเรียกใช้คำสั่งต่อไปนี้ภายในแบบสอบถาม SQL บน SQL Server 2008 R2 Express มันแสดง 4 คอร์ select scheduler_id, cpu_id, status, …

2
การแปลง VARCHAR เป็น VARBINARY
ฉันได้เก็บบันทึกข้อความค้นหาที่ใช้งานราคาแพงพร้อมกับแผนแบบสอบถามไว้ในตารางเพื่อให้เราสามารถตรวจสอบแนวโน้มด้านประสิทธิภาพและระบุพื้นที่ที่ต้องการเพิ่มประสิทธิภาพ อย่างไรก็ตามมาถึงจุดที่แผนการสืบค้นใช้พื้นที่มากเกินไป (เนื่องจากเราจัดเก็บทั้งแผนกับแต่ละแบบสอบถาม) ฉันจึงพยายามทำให้ข้อมูลที่มีอยู่เป็นปกติด้วยการแยก QueryPlanHash และ QueryPlan ไปยังตารางอื่น CREATE TABLE QueryPlans ( QueryPlanHash VARBINARY(25), QueryPlan XML, CONSTRAINT PK_QueryPlans PRIMARY KEY ( QueryPlanHash ) ); เนื่องจากคำจำกัดความของquery_plan_hashin sys.dm_exec_query_statsเป็นเขตข้อมูลไบนารี (และฉันจะแทรกข้อมูลใหม่เป็นประจำ) ฉันจึงใช้VARBINARYกับชนิดข้อมูลในตารางใหม่ของฉัน อย่างไรก็ตามการแทรกด้านล่างล้มเหลว ... INSERT INTO QueryPlans ( QueryPlanHash, QueryPlan ) SELECT queryplanhash, queryplan FROM ( SELECT p.value('(./@QueryPlanHash)[1]', 'varchar(20)') queryplanhash, QueryPlan, ROW_NUMBER() OVER (PARTITION …

2
จำกัด สิทธิ์การเชื่อมต่อบน SQL Server
ฉันมีแอพที่จะปรับใช้ในการผลิตที่ใช้ความปลอดภัย 'ระบบเกียรติ' นั่นคือผู้ใช้ทั้งหมดเชื่อมต่อกับฐานข้อมูลโดยใช้ข้อมูลประจำตัวผู้ใช้ SQL / passwd และแอปจัดการสิทธิ์เอง ส่วนหลังไม่ได้รบกวนฉันเท่าที่ความจริงที่ว่าวัตถุการเชื่อมต่อมีข้อมูลประจำตัวที่ฝังตัวและสามารถคัดลอกได้อย่างอิสระ ฉันพยายามหาวิธี จำกัด การเชื่อมต่อกับชุดลูกค้าที่ จำกัด มากขึ้น ฉันสามารถสร้างกฎไฟร์วอลล์เพื่อ จำกัด โดย IP แน่นอน มีวิธีใดบ้างในการ 'เข้าสู่ระบบ SQL ล่วงหน้า' โดยใช้บัญชี Machine หรือการเป็นสมาชิกของโดเมน?

1
คำเตือนในแผนแบบสอบถาม“ Cardinality Estimate”
create table T(ID int identity primary key) insert into T default values insert into T default values go select cast(ID as varchar(10)) as ID from T where ID = 1 แบบสอบถามด้านบนมีคำเตือนในแผนแบบสอบถาม <Warnings> <PlanAffectingConvert ConvertIssue="Cardinality Estimate" Expression="CONVERT(varchar(10),[xx].[dbo].[T].[ID],0)" /> </Warnings> ทำไมถึงมีคำเตือน? นักแสดงในรายการฟิลด์จะมีผลต่อการประมาณค่า cardinality อย่างไร

5
วิธีที่เร็วที่สุดในการส่งออกตารางไปยังไฟล์ข้อความคืออะไร
ฉันจะมีฐานข้อมูล SQL Server 2012 และตารางที่มี 3 ล้านแถวและอาจ 50 คอลัมน์ สิ่งใดจะเป็นวิธีที่เร็วที่สุดสำหรับกระบวนการเบื้องหลัง. net (อาจออกคำสั่ง SQL หรือ Powershell) เพื่อส่งออกไปยังไฟล์ข้อความหนึ่งบรรทัดสำหรับแต่ละแถวของข้อมูล? กระบวนการ. net ควรทราบเมื่อการส่งออกเสร็จสิ้นหรือมีข้อผิดพลาดใด ๆ ประเภทข้อมูลจะทั้งหมดหรือintnvarchar ฉันสมมติว่ารหัส C # บริสุทธิ์โดยใช้ ado.net เพื่อดำเนินการselect *คำสั่งและวนซ้ำไปที่ชุดข้อมูลและการเขียนไปยังไฟล์สำหรับแต่ละระเบียนจะช้าและไม่มีวิธีใดที่ฉันสามารถทำให้ขนานกันได้ เป็นการดีที่การส่งออกจะไปยังโฟลเดอร์เครือข่ายระยะไกลที่ใช้ร่วมกันไม่ใช่โฟลเดอร์บนเครื่อง SQL Server SQL Server จะเป็นคลัสเตอร์ HA SSIS เหมาะสมกับสิ่งนี้มากกว่าหรือไม่ไม่จำเป็นต้องแปลงข้อมูล กระบวนการ. Net จะทำงานบน Machine A, SQL Server บน Machine B และปลายทางไฟล์ที่ดีที่สุดคือการแชร์เครือข่าย ทางเลือกหนึ่งคือเซิร์ฟเวอร์ SQL …

6
SQL Server Management Studio 2012: มีโฟลเดอร์ในโครงการ SSMS อย่างไร
ฉันใช้ SSMS 2012 เพื่อพูดคุยกับเซิร์ฟเวอร์ SQL 2012 และเซิร์ฟเวอร์ Azure SQL ที่เราใช้ ฉันยอมรับว่าฉันไม่ใช่ผู้เชี่ยวชาญ SQL ดังนั้นฉันจึงบันทึกสคริปต์ SQL ส่วนใหญ่ไว้เพื่อใช้อ้างอิงในอนาคต ฉันพบสคริปต์สคริปต์ SQL อย่างน้อย 20 สคริปต์ในโครงการ SSMS และพวกเขาทั้งหมดอยู่ภายใต้โฟลเดอร์ 'แบบสอบถาม' เดียวกัน มีวิธีที่ฉันสามารถสร้าง "โฟลเดอร์ย่อย" ในโครงการเพื่อให้ฉันสามารถจัดระเบียบสคริปต์ของฉันได้อย่างถูกต้องหรือไม่ คนอื่น ๆ ส่วนใหญ่เก็บสคริปต์ของพวกเขาได้อย่างไร ฉันค่อนข้างแน่ใจว่าข้อบกพร่องนี้เป็นสามเณรเช่นฉันมันจะต้องเป็นปัญหาจริงสำหรับผู้ดูแลระบบจริง (อาจมีหลายร้อยสคริปต์?)

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