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

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

1
SQL Server 2012: Security_error_ring_buffer_recorded: ImpersonateSecurityContext
เซิร์ฟเวอร์คู่ที่ฉันจัดการกำลังบันทึกเหตุการณ์จำนวนมากในเซสชัน system_health XE ชื่อ : security_error_ring_buffer_recorded api_name : ImpersonateSecurityContext call_api_name : NLShimImpersonate error_code : 5023 error_code 5023 ควรเป็น ( รหัสข้อผิดพลาดระบบ ): ERROR_INVALID_STATE 5023 (0x139F) The group or resource is not in the correct state to perform the requested operation. ฉันไม่มีเหตุการณ์การเข้าสู่ระบบที่ล้มเหลวในบันทึกความปลอดภัยของเหตุการณ์หรือในบันทึก SQL Server

3
ฉันจะค้นหาตารางทั้งหมดในฐานข้อมูลที่ไม่มีคีย์หลักที่ชัดเจนได้อย่างไร
การค้นหาของ Google ได้กล่าวถึงจำนวนล้านครั้งของวิธีการค้นหาตารางที่ไม่มีการทำดัชนีแบบกลุ่มโดยปกติ PK จะเป็นดัชนีแบบกลุ่มของตาราง อย่างไรก็ตามตารางสามารถมีคีย์ธรรมชาติได้อย่างง่ายดายเป็นดัชนีคลัสเตอร์และดัชนีตัวแทนเสมือนที่ไม่ทำคลัสเตอร์เช่นคอลัมน์ข้อมูลประจำตัว ฉันจะค้นหาตารางทั้งหมดในฐานข้อมูลโดยไม่มีคีย์หลักได้อย่างไร ฉันมี 245 ตารางในฐานข้อมูลนี้: การตรวจสอบด้วยตนเองไม่มีประสิทธิภาพอย่างไม่มีการลด

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


2
ฉันสามารถติดตั้ง SQL Server 2012 บนเครื่องที่มี 2008 R2 แล้วได้หรือไม่?
ฉันใช้ SQL Server 2008 R2 มาระยะหนึ่งแล้วมันใช้งานได้ดีมาก ตอนนี้ฉันต้องใช้ SQL Server 2012 จะมีผลกับฐานข้อมูลที่มีอยู่ของฉันหรือไม่ ความเสี่ยงในการติดตั้ง SQL Server 2012 บนเครื่องที่ SQL Server 2008 R2 มีความเสี่ยงมากแค่ไหน?

2
ต้องได้รับอนุญาตก่อนเพื่อดูไดอะแกรมฐานข้อมูล
ฉันเพิ่งตั้งค่า SSDT เพื่อให้นักพัฒนาของเราใช้ เราบังคับใช้การเปลี่ยนแปลงฐานข้อมูล dev ของเราทำผ่าน SSDT โดย จำกัด สิทธิ์ที่นักพัฒนาแต่ละคนมีเมื่อเชื่อมต่อกับเซิร์ฟเวอร์ (db_datareader, db_datawriter) ภายใน SSDT เราเผยแพร่การเปลี่ยนแปลงของเราไปยังฐานข้อมูลโดยใช้สคริปต์การปรับใช้ซึ่งเชื่อมต่อโดยใช้การเข้าสู่ระบบด้วยสิทธิ์ระดับสูง คำถามของฉัน. เนื่องจากเราได้ใช้ความยาวนี้เพื่อล็อกฐานข้อมูล (เพื่อหยุดการเลื่อนสคีมา); มีวิธีใดบ้างที่นักพัฒนาสามารถดูไดอะแกรมในฐานข้อมูลนี้โดยไม่ต้องมีสิทธิ์ db_owner? ฉันรู้ว่านักพัฒนาซอฟต์แวร์แต่ละคนสามารถสร้างและดูไดอะแกรมของเขาหรือเธอได้ แต่ฉันต้องการให้พวกเขาสามารถดูไดอะแกรมทั้งหมดที่สร้างขึ้นโดยนักพัฒนาหลายคน ฉันไม่คิดว่ามันจะช่วยได้ แต่เรากำลังเรียกใช้ sql server 2012 ความช่วยเหลือใด ๆ จะได้รับอย่างมาก

2
วิธีกำหนดค่า SSRS (SQL Server 2012) ให้ทำงานบนอินสแตนซ์อื่น แต่เซิร์ฟเวอร์เดียวกับ SharePoint
ฉันมีอินสแตนซ์ของ SQL Server 2012 ที่ทำงานบน Windows 2008R2 ข้างๆอินสแตนซ์อื่นของ SQL Server 2012 ที่ใช้งาน SharePoint (ฉันคิดว่าเป็น SharePoint 2010) เมื่อฉันพยายามเข้าถึงสิ่งที่http://localhost/Reports_<InstanceName>ฉันได้รับ: คำเตือนใบรับรอง (ซึ่งฉันดำเนินการผ่าน - ฉันไม่ได้สนใจเรื่องนี้มากนัก - เป็นเครื่องพัฒนา) ข้อความต่อไปนี้: Cannot connect to the configuration database. Google กล่าวว่าข้อความแสดงข้อผิดพลาดนั้นเกี่ยวข้องกับ SharePoint ดังนั้นฉันจึงคิดว่า SharePoint กำลังทำงานอย่างหนักกับคำขอ SSRS มีการกำหนดค่าที่ฉันสามารถทำกับ SSRS หรืออย่างอื่น (IIS อาจ ??) ที่จะให้ฉันเข้าถึงเซิร์ฟเวอร์รายงานหรือไม่ หมายเหตุ : ฉันสามารถเชื่อมต่อกับบริการรายงานผ่าน SSMS ได้ดี

2
SQL Server หลังจากทริกเกอร์ INSERT
ฉันต้องการให้ทริกเกอร์นี้เริ่มทำงานหลังจากมีการแทรกข้อความmarriedในmarital_statusคอลัมน์นี่คือสิ่งที่ฉันมีจนถึงตอนนี้ ALTER TRIGGER [dbo].[marriage] ON [dbo].[applicant_personal_info] AFTER INSERT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; IF (SELECT [marital_status] FROM inserted) = 'married' BEGIN INSERT INTO [dbo].[applicant_marriage_info]([dom]) VALUES('abc') END END

2
บันทึกการจัดส่ง - คืนค่ามาตรฐานด้วย - บน SQL Server 2012 ทำให้การแบ่ง
เราใช้บันทึกการจัดส่งและRESTORE WITH STANDBYใน SQL Server 2012 เพื่อคืนค่าฐานข้อมูลในโหมดอ่านอย่างเดียวเพื่อการรายงาน อย่างไรก็ตามการตั้งค่าการจัดส่งบันทึกยังคงทำลายหลังจากทำการคืนค่าการสำรองข้อมูลแฟ้มบันทึกหนึ่งหรือสองรายการ บันทึกการจัดส่งสินค้าจะหยุดเมื่อมันทำงานเป็นRESTORE WITH STANDBY; RESTORE WITH NORECOVERYไม่ทำให้เกิดปัญหาใด ๆ สัญชาตญาณเดียวของฉันเกี่ยวกับเรื่องนี้คือฐานข้อมูลหลักไม่ได้เป็นแบบไดนามิก ดังนั้นเมื่อไม่มีการทำธุรกรรมสิ่งนี้ทำให้เกิดปัญหากับRESTOREกระบวนการใช่ไหม ความคิดใด ๆ การแก้ไขที่รู้จักกัน? ฉันให้มันทำงานสองสามวันโดยใช้งานปกติที่อัปเดตอย่างหนักในสองตาราง เมื่องานหยุดการเรียกใช้การตั้งค่าการจัดส่งบันทึกอย่างรวดเร็วล้มเหลวไม่สามารถประมวลผลไฟล์. trn ฉันรีเซ็ตการจัดส่งบันทึกและพยายามดูว่ามันจะยังคงทำงานต่อไปโดยทำการอัปเดตเล็กน้อยโดยเปลี่ยนค่าของหนึ่งคอลัมน์ของหนึ่งระเบียนในตารางหรือใครก็ตามที่ยังคงล้มเหลวอยู่ ขอบคุณสำหรับคำตอบของคุณ PS: ข้อความที่ตัดตอนมาจากบันทึกของเรา 02/25/2013 13: 00, 00, LSRestore_DBDB01-A_BulldogDB, กำลังดำเนินการ, 1, DBREPORTS, LSRestore_DBDB01-A_BulldogDB, บันทึกการจัดส่งบันทึกขั้นตอนการทำงาน, 2013-02-25 13: 00: 12.31 *** ข้อผิดพลาด: ไม่สามารถใช้ไฟล์สำรองข้อมูลบันทึก '\\ dbsan01 \ DBBackups \ LSBackup_BulldogDB …

1
มีตัวเลือกที่ดีกว่า Union All สำหรับการเลือกหลายตัวจากแถวเดียวกันหรือไม่
ตัวอย่างสคีมา: CREATE TABLE [dbo].[Base]( [ID] [int] IDENTITY(1,1) NOT NULL, [Option1ID] [int] NULL, [Option2ID] [int] NULL, [Option3ID] [int] NULL, [Option1Name] [varchar] NULL, [Option2Name] [varchar] NULL, [Option3Name] [varchar] NULL, [Option1LName] [varchar] NULL, [Option2LName] [varchar] NULL, [Option3LName] [varchar] NULL,) มีวิธีรับผลลัพธ์ที่ปรากฏเช่น: ID | OptionID | OptionName | OptionLName ฉันพยายามทำสิ่งนี้ให้สำเร็จโดยใช้ UNION ALL แต่นี่หมายถึงการข้ามแถวเดียวกัน 3 ครั้งในตัวอย่างของฉันในปัญหาจริงของฉันฉันต้องทำ …

3
เปลี่ยนการจับข้อมูล - จะรู้ได้อย่างไรว่าใครเป็นผู้เปลี่ยนแปลง
การติดตามผู้ที่ทำการเปลี่ยนแปลงที่ระบุโดย CDC ตามแนวของการแฮ็ก datetime ของฉันฉันลองวิธีเดียวกันโดยเพิ่ม suser_sname เป็นฟิลด์ใหม่ที่มีค่าเริ่มต้นในตารางเปลี่ยนแทร็ก cdc แต่ดูเหมือนว่าจะส่งคืนเจ้าของกระบวนการ cdc ไม่ใช่ผู้ใช้ที่เริ่มต้นการเปลี่ยนแปลงบนตารางพื้นฐาน ฉันยังลอง original_login แต่นั่นกลับเข้าสู่บัญชีบริการ sql อีกครั้งน่าจะเกี่ยวข้องกับกระบวนการ cdc ไม่ใช่ผู้ใช้ที่เริ่มต้นการเปลี่ยนแปลง ฉันพบคำถามที่คล้ายกันใน stack-overflowแต่ไม่มีคำตอบอื่นนอกจากการติดตามการเปลี่ยนแปลงจากส่วนหน้าหรือผ่านทริกเกอร์ซึ่งดูเหมือนว่าจะเอาชนะวัตถุประสงค์ของการใช้ cdc ฉันจะไม่โพสต์ใหม่ แต่เนื่องจากต้นฉบับอยู่ใน stackoverflow ฉันคิดว่าฉันจะลองที่นี่โดยเฉพาะถ้า R2 หรือ 2012 ได้แนะนำวิธีที่ดีกว่า ในระยะสั้น: ฉันจะรู้ได้อย่างไรว่าใครเป็นผู้ทำการเปลี่ยนแปลงในการเก็บข้อมูลการเปลี่ยนแปลง?

3
Visio 2010 และ SQL 2012 - การดำเนินการแบบย้อนกลับ
เราได้อัพเกรดเป็น SQL 2012 และกำลังพยายามที่จะแปลง DBS ของเราเป็น Visio 2010 ฉันตั้งค่าการเชื่อมต่อโดยใช้ไดรเวอร์ SQL 11 และ Visio บ่นว่าไดรเวอร์นั้นไม่ได้รับการสนับสนุน มีใครวิ่งเข้าไปในนี้?

1
แบบสอบถาม MDX สำหรับ RANK โดยไม่คำนึงถึงลำดับชั้น
ฉันหวังที่จะเพิ่มการคำนวณเพื่อ SSAS Cube ของฉัน (SSAS 2012) ที่จะแสดงตำแหน่งของญาติของสิ่งที่สมาชิกปัจจุบันกับสมาชิกคนอื่น ๆ ในปลากะรังที่โดยไม่ต้องระบุกะรังล่วงหน้า ตัวอย่างเช่นสมมติว่าฉันมีการคำนวณแล้วEfficiencyซึ่งถูกกำหนดเป็น $$ / ชั่วโมง ฉันต้องการเพิ่มการEfficiency Rankคำนวณเช่นกันซึ่งจะบอกตำแหน่งที่สัมพันธ์กับสมาชิกปัจจุบันที่มีอยู่ในชุด ไวยากรณ์ที่ฉันพยายามคือ RANK([Measures].[Efficiency].CurrentMember, [Measures].[Efficiency]) ซึ่งฉันรู้ว่าไม่ถูกต้อง ฉันไม่สามารถหาคำแนะนำเกี่ยวกับเรื่องนี้ได้จากทุกที่ดังนั้นฉันหวังว่าจะมีแนวปฏิบัติหรือรูปแบบที่ดีที่สุดสำหรับเรื่องนี้เนื่องจากดูเหมือนว่ามันจะเป็นข้อกำหนดทางธุรกิจ

1
การตั้งค่าการล้างข้อมูลบนผี
ฉันใช้ฐานข้อมูลธุรกรรมสูง (โดยเฉลี่ยประมาณ 175 ธุรกรรม / นาทีมีการเพิ่มและลบบันทึกเกือบ 9 ล้านรายการต่อชั่วโมง) จนถึงเมื่อเร็ว ๆ นี้สิ่งนี้ยังไม่ได้เป็นปัญหามากนักเนื่องจากเรามีการเพิ่มและลบเร็กคอร์ดที่ 7.5M แต่ด้วยข้อมูลล่าสุดที่ไหลเข้ามาการล้างข้อมูลผีจะไม่สามารถติดตามการล้างข้อมูลได้ พื้นที่ที่ไม่ได้ใช้บนตาราง / ดัชนี ไม่กี่วันที่ผ่านมาเรามี 'พื้นที่ที่ไม่ได้ใช้' ถึง 53 GB ใน 16 ตาราง (โดยส่วนใหญ่เป็น 2 แห่ง) ดังนั้นผลที่ตามมาก็เริ่มมองเข้าไปในกระบวนการล้างผีเพื่อหามันทำงานทุกๆ 5 วินาทีและทำงานมากกว่า 10 หน้า โซลูชันปัจจุบันของฉันคือเช้าตรู่ฉันกำลังรันสามเธรดของคำสั่งต่อไปนี้: DECLARE @2hours datetime = dateadd(hour,2,getutcdate()) WHILE getutcdate() < @2hours BEGIN DBCC FORCEGHOSTCLEANUP ('DBNAME') WITH NO_INFOMSGS END เพื่อติดตามงานค้างเมื่อคืนก่อน …

1
ความแตกต่างระหว่างการค้นหาดัชนีแบบคลัสเตอร์และการค้นหาแบบไม่จัดกลุ่มดัชนี
อะไรคือความแตกต่างระหว่างการค้นหาดัชนีแบบกลุ่ม (CI) และการค้นหาแบบไม่จัดกลุ่มดัชนี (NCI) มีประสิทธิภาพดีกว่าอีกหรือไม่ เหตุผลที่ฉันถามสิ่งนี้เพราะฉันมีตารางที่มี 50 ล้านแถวและ 150 คอลัมน์ มันมีชื่อคอลัมน์ที่IDกำหนดไว้เป็นดัชนีคลัสเตอร์ มี NCI อีกหนึ่งตัวที่มีรหัสคีย์ดัชนีและincludeคอลัมน์เจ็ดคอลัมน์ที่เหมือนกัน สำหรับฉันแล้วดูเหมือนว่าดัชนี NC ซ้ำกันที่นี่และสามารถทิ้งได้อย่างปลอดภัย ดังนั้นฉันต้องการความคิดเห็น / คำแนะนำจากผู้เชี่ยวชาญหากสามารถทิ้งไว้อย่างปลอดภัยหรือควรรักษาไว้เหมือนเดิม?

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