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

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

2
เกิดข้อผิดพลาดในการเรียกใช้สคริปต์ Powershell ใน SQL Server Agent
ฉันมีงาน SQL ที่ทำงานผ่านตัวแทนของเซิร์ฟเวอร์ SQL (กำลังเรียกใช้ SQL Server 2012 Enterprise) ขั้นตอนสุดท้ายของงานคือการเรียกใช้แอพพลิเคชั่นที่อยู่บนเครือข่ายแชร์ น่าเสียดายที่ฉันไม่ทราบชื่อโฟลเดอร์ที่มีแอปพลิเคชันอยู่ (โฟลเดอร์คือหมายเลขเวอร์ชั่น) ดังนั้นฉันจึงใช้ PowerShell เพื่อค้นหา: set-location "\\server\companydocuments\MyApp\Application Files\" $name = Get-ChildItem | sort name -desc | select -f 1 | select name cd $name.name & ".\Application.exe" ถ้าฉันเปิดหน้าต่าง PowerShell บน SQL Server มันก็ใช้ได้ดี เมื่อฉันเรียกใช้สิ่งนี้ในตัวแทนของเซิร์ฟเวอร์ SQL ฉันได้รับข้อผิดพลาดต่อไปนี้: A job step received an …

1
การรวบรวมค่าพารามิเตอร์จากเซสชันเหตุการณ์เพิ่มเติม
ฉันใช้กิจกรรมเพิ่มเติมเพื่อติดตามข้อความที่ใช้โดยแอปพลิเคชันของเรา ผมได้สร้างเซสชั่นที่จะเก็บรวบรวมข้อมูลที่ฉันต้องการยกเว้นว่าผมยังต้องการที่จะรู้ว่าเป็นค่าที่แท้จริงของพารามิเตอร์ที่ใช้ ฉันกำลังดำเนินการติดตามนี้ในสภาพแวดล้อมที่ไม่ใช่การผลิตและประสิทธิภาพการทำงานใด ๆ ที่เกิดจากการติดตามเป็นที่ยอมรับได้ ข้อความค้นหาทั้งหมดมาจาก Hibernate และได้รับการกำหนดพารามิเตอร์ในรูปแบบของ: SELECT a, b, c From Customer where CustomerId = @P0 นี่คือการตั้งค่าเซสชันของฉัน CREATE EVENT SESSION [TracingForStatements] ON SERVER ADD EVENT sqlserver.sp_statement_completed ( ACTION ( sqlserver.session_id, package0.collect_system_time, sqlserver.transaction_id, package0.event_sequence ) WHERE ( sqlserver.database_id=555 ) ) ADD TARGET package0.ring_buffer(SET max_memory= 128000) WITH (EVENT_RETENTION_MODE = NO_EVENT_LOSS, …

1
การติดตามการเปลี่ยนแปลงเปลี่ยนจาก SQL Server 2008 เป็น 2012 หรือไม่
ในปัญหาในการถ่ายภาพปัญหากับการซิงโครไนซ์อุปกรณ์ที่ไม่เชื่อมต่อกับเซิร์ฟเวอร์ฐานข้อมูลกลางเรากำลังประสบปัญหาหลังจากอัปเกรดเป็น SQL Server 2012 บนเซิร์ฟเวอร์ ดูเหมือนว่า CHANGE_TRACKING_MIN_VALID_VERSION จะส่งคืนค่าที่สูงกว่าที่ควร 1 (หรืออย่างน้อยก็กว่าที่เคยเป็นมาก่อนการอัพเกรด) ฉันทำงานผ่านตัวอย่างที่ยอดเยี่ยมของ Arshad Ali ถึงวิธีการตั้งค่าตัวอย่างง่ายๆ ฉันเรียกใช้สคริปต์จาก # 1 ถึง # 5 เพื่อแทรกลบและอัปเดตแถวในตารางพนักงานในทั้งสภาพแวดล้อมของ SQL Server 2008 และ 2012 ในปี 2008 คำสั่งต่อไปนี้จะคืนค่า 0: SELECT CHANGE_TRACKING_MIN_VALID_VERSION(OBJECT_ID('Employee')) ในปี 2012 จะส่งคืน 1 ในการทำงานกับสคริปต์อีกสองสาม (6-8) ในการทดสอบฉันตั้งระยะเวลาการเก็บข้อมูลเป็น 1 นาทีเพื่อหวังว่าจะบังคับให้มีการดำเนินการล้างข้อมูล ฉันออกไปทั้งวันและเห็นได้ชัดว่ามันวิ่งข้ามคืน ในอินสแตนซ์ปี 2008 CHANGE_TRACKING_CURRENT_VERSION และ CHANGE_TRACKING_MIN_VALID_VERSION มีค่าเท่ากับ (11) ในอินสแตนซ์ …

2
สร้างบทบาทฐานข้อมูลเพื่ออนุญาตการเข้าถึงการอ่านไปยังตารางทั้งหมด เข้าถึงการเขียนบางอย่าง
เรามีฐานข้อมูลที่มีมากกว่า 1,000 ตาราง ฉันต้องสร้างบทบาทที่อนุญาตให้อ่านได้อย่างเดียวบนทุกตารางรวมถึงการเขียนเพื่อเข้าถึงสองตารางที่เฉพาะเจาะจง ฉันยุ่งกับบทบาทฐานข้อมูล แต่เมื่อใดก็ตามที่ฉันไปเพิ่มตารางฉันต้องเลือกทั้งหมด 1,000 ... มีวิธีที่ดีกว่าในการทำเช่นนี้?

2
วิธีการแผ่ผลของตารางที่มีสองตารางที่ "เกี่ยวข้อง" อย่างเกี่ยวข้องได้อย่างไร
ฉันได้จัดตารางบางส่วนในฐานข้อมูลของฉันให้มีความยืดหยุ่นมากขึ้น แต่ฉันไม่แน่ใจว่าจะเขียน SQL อย่างไรเพื่อดึงข้อมูลที่มีความหมายออกมา ฉันมีตารางต่อไปนี้ (ค่อนข้างยากสำหรับตัวอย่างที่ชัดเจน): CREATE TABLE Loans( Id int, SchemaId int, LoanNumber nvarchar(100) ); CREATE TABLE SchemaFields( Id int, SchemaId int, FieldName nvarchar(255) ); CREATE TABLE LoanFields( Id int, LoanId int, SchemaFieldId int, FieldValue nvarchar(4000) ); ด้วยข้อมูลต่อไปนี้: INSERT INTO Loans (Id, SchemaId, LoanNumber) VALUES (1, 1, 'ABC123'); INSERT …

3
แค็ตตาล็อก SQL Server 2012 ไปสู่ ​​sysjobhistory - วิธีเข้าร่วมใด ๆ
ฉันใช้ทรัพยากรหมดและไม่สามารถหาวิธีป้องกันการเข้าร่วมตาราง ssisdb.catalog กับงานที่เรียกใช้ พยายามเขียน sprocs ที่กำหนดเองเพื่อตรวจสอบเวลาดำเนินการและแถวของฉันที่เขียนจากตารางแคตตาล็อกและมันจะเป็นประโยชน์อย่างมากที่จะสามารถเชื่อมโยงพวกเขาเข้าด้วยกันกับงานที่เรียก ฉันพยายามที่จะดูว่ามีตารางใด ๆ ที่สามารถใช้เพื่อเข้าร่วมตาราง catalog.executions เพื่อ msdb.sysjobhistory ฉันต้องเกี่ยวข้องกับงานที่เรียกว่าแพคเกจ SSIS แล้วใช้ข้อมูลในการดำเนินการสำหรับการวิเคราะห์ของฉัน

2
วิธีที่ดีที่สุดในการจัดเรียงข้อมูล / กระชับฐานข้อมูลเพื่อวัตถุประสงค์ในการเก็บถาวร
เรามีอินสแตนซ์ของ SQL Server ที่ใช้สำหรับการเก็บถาวรอีเมล (ได้รับความอนุเคราะห์จากแพ็คเกจการเก็บถาวรของบุคคลที่สาม) บ่อยครั้งซอฟต์แวร์จะถูกนำไปวางในฐานข้อมูลเปล่าใหม่ เราเคยทำมาทุกไตรมาสในอดีต แต่เราต้องการทำรายเดือนในตอนนี้ จำนวนข้อมูลที่ถูกเก็บถาวรอยู่ที่ประมาณ 15 - 20 GB ต่อเดือนและข้อมูลจำนวนมากอยู่ในตารางเพียงไม่กี่ตาราง (โดยปกติคือ 2 - 4) เมื่อเราหมุนไปยังฐานข้อมูลใหม่แล้วฐานข้อมูลเก่าจะถูกใช้บนพื้นฐานแบบอ่านอย่างเดียว สิ่งที่ฉันต้องการจะทำคือปรับให้เป็นไฟล์ข้อมูลที่ดีและแน่นหนาโดยมีตาราง / ดัชนีทั้งหมดต่อเนื่องกันและมีตัวประกอบการเติมสูงมากและไม่มีพื้นที่ว่างที่ท้ายแฟ้มข้อมูล นอกจากนี้เรากำลังใช้ Standard Edition บนเซิร์ฟเวอร์นี้ด้วยข้อ จำกัด ทั้งหมดที่บอกเป็นนัย (ไม่เช่นนั้นฉันจะใช้การบีบอัดข้อมูลอยู่แล้ว) ความเป็นไปได้บางอย่างที่ฉันสามารถนึกได้: REBUILD / REORGANIZE ดัชนี DBCC SHRINKFILE (โอเคนี่ไม่ใช่ตัวเลือกที่สมเหตุสมผลเนื่องจาก DBCC SHRINKFILE จะแยกส่วนปัสสาวะออกจากสิ่งที่มันสัมผัส แต่ฉันรวมไว้เพื่อความสมบูรณ์) สร้างฐานข้อมูลใหม่โดยอัตโนมัติปิดสถานะ สคริปต์และสร้างตารางทั้งหมดจากฐานข้อมูลต้นฉบับอีกครั้ง ใช้ bcp เพื่อส่งออก / นำเข้าข้อมูลไปยังฐานข้อมูลใหม่ตามลำดับคีย์ - คลัสเตอร์ …

4
ย้ายแถวจากตารางหนึ่งไปอีกตารางหนึ่ง
ฉันกำลังย้ายระเบียนจากฐานข้อมูลหนึ่งไปยังอีกฐานข้อมูลซึ่งเป็นส่วนหนึ่งของกระบวนการเก็บถาวร ฉันต้องการคัดลอกแถวไปยังตารางปลายทางแล้วลบแถวเดียวกันออกจากตารางต้นฉบับ คำถามของฉันคือวิธีที่มีประสิทธิภาพที่สุดในการตรวจสอบว่าการแทรกครั้งแรกสำเร็จหรือไม่ก่อนที่จะลบแถว ความคิดของฉันคือสิ่งนี้ แต่ฉันรู้สึกว่ามีวิธีที่ดีกว่า: @num_records=select count(ID) from Source_Table where (criteria for eligible rows) insert * into Destination_Table where (criteria for eligible rows) if ((select count(ID) from Destination_Table where (criteria) )=@numrecords) delete * from Source_Table where (criteria) จะดีกว่า / เป็นไปได้ที่จะรวมเข้ากับฟังก์ชั่น RAISERROR หรือไม่? ขอบคุณ!

2
กรณีเมื่อเทียบกับ isnull เมื่อเทียบกับการรวมกัน
ฉันเพิ่งอ่านเอกสารประกอบสำหรับการสอบ SQL Server 2012 และฉันเห็นประเด็นต่อไปนี้: กรณีเมื่อเทียบกับ isnull เมื่อเทียบกับการรวมกัน ตอนนี้ฉันรู้วิธีที่จะใช้แต่ละคน แต่ฉันไม่รู้ว่าเมื่อไหร่ที่จะใช้แต่ละคน ได้โปรดร่างกายบางคนชี้แจง ขอบคุณ ps ได้โปรดเรามีแท็กสำหรับคำถามการสอบได้ไหม

1
ฉันจะแก้ไขข้อผิดพลาดการเพิ่มประสิทธิภาพแอสเซมบลีของเซิร์ฟเวอร์ SQL และหน่วยความจำหมดลงอย่างไร
.NET Runtime Optimization Service ( mscorsvw) ยังคงใช้หน่วยความจำของเวิร์กสเตชันของฉันทั้งหมดตั้งแต่ฉันติดตั้ง SQL Server 2012 Service Pack 1 ใช้หน่วยความจำประมาณ 1.6 GB ก่อนที่จะหมดหน่วยความจำที่มีอยู่ทั้งหมด: ฉันสามารถฆ่ากระบวนการได้ แต่จะเกิดขึ้นอีกครั้งเมื่อฉันรีสตาร์ทคอมพิวเตอร์หรือรอนานพอ Techdowsแนะนำให้ใช้. NET Native Image Generator ( ngen) เพื่อแก้ไขปัญหา ฉันสั่งให้พรอมต์คำสั่งและใช้คำสั่งแบบนี้: cd C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319.1 ngen executeQueuedItems ปริมาณการใช้หน่วยความจำของmscorsvwลดลงไปประมาณ 20-30 MB และngenใช้หน่วยความจำที่เหลือทั้งหมด ngenสร้างข้อความแสดงข้อผิดพลาดเท่านั้นจนกว่าฉันจะฆ่ากระบวนการ เอาต์พุตสองสามบรรทัดแรกมีลักษณะดังนี้: Microsoft (R) CLR Native Image Generator - Version 4.0.30319.1 Copyright (c) Microsoft …

1
กลุ่มความพร้อมใช้งานสามารถให้การเข้าแทนที่ที่ราบรื่น (โดยไม่มีความล้มเหลวในการค้นหา)?
ฉันได้ทำการทดสอบคุณสมบัติกลุ่มความพร้อมใช้งานใน SQL Server 2012 และกำลังค้นหาว่ามีเวลาหยุดทำงานประมาณ 15 วินาทีเมื่อเซิร์ฟเวอร์หลักล้มเหลวไปยังเซิร์ฟเวอร์รอง แบบสอบถาม SQL ทั้งหมดที่ดำเนินการในช่วงเวลานี้จะล้มเหลวจนกว่าการเปลี่ยนแปลงล้มเหลวจะเสร็จสมบูรณ์ มีวิธีใดที่จะทำให้สิ่งนี้ลดลงเป็น 0 วินาทีและป้องกันไม่ให้แบบสอบถามล้มเหลวในระหว่างการเปลี่ยนสถานะการเฟลโอเวอร์? กล่าวอีกนัยหนึ่งมีวิธีที่จะทำให้คิวรีใด ๆ ที่ทำงานในระหว่างที่ล้มเหลวในการเปลี่ยนเส้นทางไปยังเซิร์ฟเวอร์หลักแทนที่จะล้มเหลว ... และมีวิธีใดที่จะได้รับการเชื่อมต่อฐานข้อมูลใหม่เพื่อเชื่อมต่อกับเซิร์ฟเวอร์รองทันทีแทนที่จะล้มเหลว เชื่อมต่อระหว่างการเปลี่ยน Failover หรือไม่? ปัจจุบันฉันมีเซิร์ฟเวอร์ 2 ตัวที่ตั้งค่าไว้ในกลุ่มความพร้อมใช้งาน

1
ตำแหน่งที่เหมาะสมที่สุดของไฟล์ tempdb, mdf และ ldf ใน SQL Server 2012 บน SSD หรือไม่
ฉันรู้ว่านี่อาจเป็นคำถามสิ้นสุดที่เปิดกว้างและคำตอบอาจแตกต่างกันไป แต่ตำแหน่งที่เหมาะสมที่สุดสำหรับไฟล์ tempdb, mdf และ ldf ใน SQL Server 2012 เมื่อพูดถึง SSD คืออะไร การซื้อล่วงหน้าใหม่ฉันมี SSD ที่มีอยู่ซึ่งมีไฟล์หลักของ SQL Server 2012 และ tempdb ติดตั้งอยู่และมีทั้ง mdf / ldf บน HDD 7200 รอบต่อนาที จากนั้นฉันก็ซื้อ SSD 2 ตัวโดยมีเจตนาดั้งเดิมที่จะวาง mdf ลงบนหนึ่ง ldf และใส่อีกอันหนึ่ง แต่จากการอ่านเพิ่มเติมดิสก์แยกทางกายภาพสำหรับไฟล์ mdf และ ldf ไม่ได้นำมาใช้จริง ๆ กับ SSD แก้ไข? ดังนั้นฉันคิดต่อไปนี้: SSD 1 - …

3
วิธีการเชื่อมต่อครั้งเดียวสำหรับแบบสอบถามทั้งหมดใน SQL Server Management Studio?
SSMS ขอให้ฉันเชื่อมต่อทุกแบบสอบถามในโครงการของฉัน มีวิธีการเชื่อมต่อเพียงครั้งเดียวต่อการเชื่อมต่อสำหรับแบบสอบถามทั้งหมดที่ใช้ในโครงการของฉันหรือไม่ คำตอบด้านล่าง (มีนาคม 2014) ไม่ตอบคำถาม ยังคงมองหาวิธีการแก้ปัญหา

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

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

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