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

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

5
เป็นไปได้ในการโจมตีบนเซิร์ฟเวอร์ SQL ของฉัน
ตรวจสอบบันทึก SQL Server ของฉันฉันเห็นหลายรายการเช่นนี้ Date: 08-11-2011 11:40:42 Source: Logon Message: Login failed for user 'sa'. Reason: Password did not match for the login provided. [CLIENT: 56.60.156.50] Date: 08-11-2011 11:40:42 Source: Logon Message: Error: 18456. Severity: 14. State: 8. Date: 08-11-2011 11:40:41 Source: Logon Message: Login failed for user 'sa'. Reason: …

2
ทำไม“ SELECT POWER (10.0, 38.0);” โยนข้อผิดพลาดทางคณิตศาสตร์มากเกินไป?
ฉันอัปเดตของฉันIDENTITYสคริปต์เช็คล้นไปยังบัญชีสำหรับDECIMALและNUMERIC IDENTITYคอลัมน์ เป็นส่วนหนึ่งของการตรวจสอบฉันคำนวณขนาดของช่วงชนิดข้อมูลสำหรับทุกIDENTITYคอลัมน์ ฉันใช้มันเพื่อคำนวณเปอร์เซ็นต์ของช่วงนั้นหมดไป สำหรับDECIMALและNUMERIC ขนาดของช่วงนั้นเป็น2 * 10^p - 2ที่ที่pมีความแม่นยำ ฉันสร้างกลุ่มตารางทดสอบด้วยDECIMALและNUMERIC IDENTITYคอลัมน์และพยายามคำนวณช่วงดังนี้: SELECT POWER(10.0, precision) FROM sys.columns WHERE is_identity = 1 AND type_is_decimal_or_numeric ; สิ่งนี้ทำให้เกิดข้อผิดพลาดต่อไปนี้: Msg 8115, Level 16, State 6, Line 1 Arithmetic overflow error converting float to data type numeric. ฉัน จำกัด ให้แคบลงไปยังIDENTITYคอลัมน์ประเภทDECIMAL(38, 0)(เช่นด้วยความแม่นยำสูงสุด) ดังนั้นฉันจึงลองPOWER()คำนวณโดยตรงกับค่านั้น แบบสอบถามต่อไปนี้ทั้งหมด SELECT POWER(10.0, …

1
ความหมายของประสิทธิภาพของการใช้ OPENQUERY ในมุมมอง
โปรดดูคำถามนี้ใน stackoverflow: ฉันใช้ไดรเวอร์ EasySoft ODBC เพื่อเชื่อมโยงอินสแตนซ์ของ SQL Server 2008 R2 Express ไปยัง Interbase และฉันประสบปัญหาในการรับข้อมูลเมตาจากเซิร์ฟเวอร์ระยะไกล จากการมองหาบนเครือข่าย sugestions หลักทั้งหมดพูดถึงการใช้ OPENQUERY แทนไวยากรณ์เซิร์ฟเวอร์ที่เชื่อมโยงสี่ส่วน EG วิธีการปัจจุบันของฉัน (มีปัญหา) คือ ... CREATE VIEW [LIVE].[vwPRDETS] AS SELECT * FROM [LBLIVE]...[PRDETS] WITH (NOLOCK) แต่ในบางตารางฉันได้รับข้อผิดพลาดเมื่อเรียกดู ... ข่าวสารเกี่ยวกับ 7353 ระดับ 16 สถานะ 1 บรรทัด 1 ตัวให้บริการ OLE DB "MSDASQL" สำหรับเซิร์ฟเวอร์ที่เชื่อมโยง "LBLIVE" …

1
อนุญาตให้แทรกจำนวนมากในฐานข้อมูลเดียว
ฉันทำงานกับ บริษัท ที่มีความปลอดภัยด้านไอทีอย่างตรงไปตรงมา ฉันถูกจ้างเป็นนักวิเคราะห์ฐานข้อมูลเพื่อเพิ่มประสิทธิภาพกระบวนการบางอย่างในทีมของเรา ปัญหาคือฉันมีสิทธิ์อ่านและเขียนเท่านั้นและฉันพยายามหาสิทธิ์ขั้นสูงในฐานข้อมูล ขณะนี้เรามีฐานข้อมูลจำนวนมากในเซิร์ฟเวอร์เดียวและเราสามารถทำงานบนฐานข้อมูลเดียวฉันสงสัยว่าการBULK INSERTอนุญาตสามารถมอบให้กับฐานข้อมูลเดียวหรือว่าจะอนุญาตให้เซิร์ฟเวอร์ทั้งหมดหรือไม่ ฉันค้นหาผ่านเว็บเกี่ยวกับเรื่องนี้ แต่ฉันสับสนเล็กน้อย นี่คือสิ่งที่ฉันค้นพบ ในการใช้งาน BULK INSERT ฉันควรได้INSERTรับอนุญาตในตารางหรือฐานข้อมูลที่ต้องการADMINISTER BULK OPERATIONSซึ่งเป็นสิทธิ์ที่ครอบคลุมของเซิร์ฟเวอร์ หากฉันได้รับADMINISTER BULK OPERATIONSอนุญาตในฐานข้อมูลทั้งหมดและการINSERTอนุญาตในฐานข้อมูลเดียวฉันจะไม่สามารถทำได้เฉพาะBULK INSERTในฐานข้อมูลเดียวนั้นเนื่องจากฉันไม่มีINSERTสิทธิ์ในฐานข้อมูลอื่น เป็นไปได้หรือไม่ที่จะ จำกัด การใช้งานBULK INSERTฐานข้อมูลเดียวบนเซิร์ฟเวอร์ที่มีฐานข้อมูลหลายฐาน? ขออภัยเกี่ยวกับกำแพงข้อความและขอขอบคุณ!

5
กลุ่มไฟล์หลักคือ SQL Server 2008 แบบเต็ม
ฉันมีตารางขนาดใหญ่ (~ 50 ล้านแถว) ฉันพยายามแทรกจำนวนมากลงใน SQL Server และฉันได้รับข้อผิดพลาด: ไม่สามารถจัดสรรพื้นที่สำหรับวัตถุ 'myDB' ในฐานข้อมูล 'I 3 Stroke' ได้เนื่องจากกลุ่มไฟล์ 'หลัก' เต็ม สร้างพื้นที่ดิสก์โดยการลบไฟล์ที่ไม่ต้องการวางวัตถุในกลุ่มไฟล์เพิ่มไฟล์เพิ่มเติมไปยังกลุ่มไฟล์หรือการตั้งค่าอัตโนมัติสำหรับไฟล์ที่มีอยู่ในกลุ่มไฟล์ มีตารางอื่นในฐานข้อมูลที่มีประมาณ 25 ล้านแถว ฐานข้อมูลนี้จะใช้ในเครื่องเดียวเท่านั้นและจะได้รับการออกแบบมาเพื่อขุดข้อมูลที่มีอยู่แล้วและจะไม่มีการเติบโตเกินขนาดปัจจุบัน สำหรับสถานการณ์เช่นนี้เป็นวิธีที่ดีที่สุดในการแก้ไขปัญหานี้ดังนั้น SQL Server จะไม่บ่นอะไร การแก้ปัญหาสำคัญหรือไม่ที่ฐานข้อมูลนี้จะไม่ถูกเปิดเผยต่อผู้ใช้หลายคน?

2
ในการค้นหาข้อมูลภายในของ FILESTREAM
เมื่อฟีเจอร์ FILESTREAM เปิดใช้งานบน Microsoft SQL Server 2012 SQL Server จะสร้างการแชร์ "ที่ซ่อนอยู่" บนระบบ การแบ่งปันถูกกำหนดดังนี้: Sharename FILESTREAM_SHARE Path \\?\GLOBALROOT\Device\RsFx0320\<localmachine>\FILESTREAM_SHARE Remark SQL Server FILESTREAM share Maximum users unlimited Users Caching Manual caching of documents Permissions NT-AUTHORITY\Authenticated Users, FULL ชื่อที่เป็นชื่อของหุ้นที่คุณให้เมื่อเริ่มแรกการกำหนดค่า FILESTREAM ในการกำหนดค่าเซิร์ฟเวอร์ SQL ผู้จัดการ แต่มันมีไว้เพื่ออะไร? จนถึงตอนนี้ ฉันอ่านเอกสาร FILESTREAM ทั้งหมดที่มีอยู่เริ่มต้นที่: FILESTREAM (เซิร์ฟเวอร์ SQL) เปิดใช้งานและกำหนดค่า FILESTREAM …

2
INSERTs ขนาดใหญ่ปิดกั้นการเลือก
ฉันมีปัญหากับ INSERT จำนวนมากที่บล็อกการดำเนินการ SELECT ของฉัน schema ฉันมีโต๊ะแบบนี้: CREATE TABLE [InverterData]( [InverterID] [bigint] NOT NULL, [TimeStamp] [datetime] NOT NULL, [ValueA] [decimal](18, 2) NULL, [ValueB] [decimal](18, 2) NULL CONSTRAINT [PrimaryKey_e149e28f-5754-4229-be01-65fafeebce16] PRIMARY KEY CLUSTERED ( [TimeStamp] DESC, [InverterID] ASC ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF , IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = …

1
SQL Server สร้างแผนใหม่ในแต่ละวัน
เรามีปัญหานี้ในสภาพแวดล้อมการผลิตของเรา Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (X64) - รุ่นองค์กร (64 บิต) บน Windows NT 6.1 (รุ่น 7601: Service Pack 1) SQL Server กำลังวางแผนปฏิบัติการเกือบทั้งหมด (เกือบ 100%) และสร้างใหม่ทุกวันข้ามคืน (จาก 11:00 PM ถึง 8:00 AM) สิ่งนี้เกิดขึ้นเมื่อ 'สถิติการอัปเดตอัตโนมัติ' อยู่ในสถานะปิดใช้งาน เราได้เปิด 'สถิติการอัปเดตอัตโนมัติ' ในช่วง 2-3 สัปดาห์ที่ผ่านมา แต่มันก็ยังคงเกิดขึ้น เราไม่รู้จริง ๆ ว่าอะไรเป็นต้นเหตุของแผนยุคใหม่นี้ แต่เรามั่นใจว่าเราจะไม่ทำด้วยตนเอง สิ่งเดียวที่เกิดขึ้นจริงกับช่วงเวลาของแผนที่ถูกสร้างใหม่คืองานบำรุงรักษาฐานข้อมูลที่เรามี: ดัชนีรายวันปรับโครงสร้างองค์กรใหม่ …

7
ฉันจะสำรองข้อมูลของตารางเฉพาะใน SQL Server 2008 โดยใช้ T-SQL Script ได้อย่างไร
ฉันต้องการสำรองข้อมูลของตารางเฉพาะที่มีอยู่ในฐานข้อมูลของฉันใน.bakไฟล์และสิ่งเหล่านี้ควรทำโดยใช้สคริปต์ T-SQL

1
เหตุใดสี“ การค้นหา” จึงเป็นคำที่สงวนไว้ของฟังก์ชันใน SQL Server
ใน SSMS 2208 ตัวระบุ "ค้นหา" เป็นสีชมพูร้อนราวกับว่ามันเป็นฟังก์ชั่น (สีเดียวกับที่พูดว่า "พลังงาน" หรือ "แปลง") ทำไม? ฉันไม่สามารถหาได้ในรายการอย่างเป็นทางการของคำสงวน การค้นหาบนเว็บดูเหมือนไร้ประโยชน์เพราะมีคำศัพท์ "ค้นหา" ที่น่ากลัวมากมายซึ่งไม่เกี่ยวข้องกับคำถามของฉัน

2
รายการการเข้าสู่ระบบเซิร์ฟเวอร์ SQL ที่มีอยู่และผู้ใช้
ฉันรู้ว่าเราสามารถตรวจสอบการเข้าสู่ระบบและผู้ใช้ที่กำหนดโดยใช้ GUI ใน SQL Server แต่ฉันสงสัยว่าเราสามารถตรวจสอบนี้ได้โดยใช้สคริปต์ ฉันเรียกใช้แบบสอบถามด้านล่าง แต่แสดงให้เห็นว่า Principal_id ซึ่งฉันไม่แน่ใจว่าจะแมปอย่างไรเพื่อรับระดับสิทธิ์ SELECT * FROM Sys.login_token ดังนั้นจึงมี proc ที่เก็บไว้ในตัวที่สามารถแสดงรายการการเข้าสู่ระบบและผู้ใช้ที่มีระดับสิทธิ์ของพวกเขา ? ขอขอบคุณ.

2
จะสร้างการล็อกอินของ sql Server สำหรับบัญชีโดเมนได้อย่างไร
ทั้งหมด ฉันติดตั้ง Sql Server 2008 บนเซิร์ฟเวอร์ (สมมติว่าServer1 ) ในโดเมน (สมมุติว่าAD ) ฉันยังมีบัญชีโดเมนที่เรียกว่าAD \ Sql1 นี้ไม่ได้เป็นบัญชีผู้ดูแลระบบในโดเมน ( AD ) แต่ฉันต้องการให้เป็นผู้ดูแลระบบบนServer1 จากนั้นสร้างการเข้าสู่ระบบบนเซิร์ฟเวอร์ SQL สำหรับบัญชีโดเมนนั้น (ไม่ใช่บัญชีท้องถิ่น) ฉันจะทำอย่างไร คำถาม: ผู้ใช้AD \ Sql1ผมต้องการให้เขาเป็นผู้ดูแลระบบServer1 เพื่อที่ฉันจะสร้างบัญชีท้องถิ่นที่มีชื่อผู้ใช้เดียวกัน (สมมติว่าServer1 \ Sql1 ) และทำให้บัญชีท้องถิ่นเป็นผู้ดูแลระบบบนเครื่อง บัญชีท้องถิ่นนั้นจะถูกแมปกับบัญชีโดเมนที่มีชื่อเดียวกันโดยอัตโนมัติหรือไม่ อาจเป็นฉันควรเพิ่มที่นี่ที่CREATE LOGIN [AD\Sql1] FROM WINDOWSไม่ได้ผลสำหรับฉัน ฉันพยายามและได้รับข้อผิดพลาดที่บอกว่าuser does not exist in Windows(เช่นนั้น) ทีนี้ถ้าเทคนิคข้างต้นใช้ได้ผล ให้ถือว่าAD \ Sql1กลายเป็นผู้ดูแลระบบของSever1 …

6
รายการตรวจสอบ SQL Server
การติดตามจากคำถามอื่นของฉันฉันต้องการเริ่มคิดเกี่ยวกับสิ่งที่ฉันควรดูในฐานรายวัน / รายสัปดาห์ / รายเดือนในแง่ของการแจ้งเตือน ฉันหวังว่าจะสามารถเห็นปัญหามาก่อนที่จะเกิดขึ้น (นั่นคือแผน) ... จนถึงตอนนี้ฉันได้เริ่มเก็บสคริปต์สำหรับต่อไปนี้ (ไม่มีคำสั่ง): ประจำวัน ตรวจสอบความพร้อมของระบบ (ในกรณีที่ฉันต้องตรวจสอบอะไรเป็น DBA) ตรวจสอบข้อมูลสำรองล่าสุด ตรวจสอบการสำรองข้อมูลบันทึกธุรกรรม ตรวจสอบสถานะของงาน SQL ตรวจสอบการใช้งาน CPU โดยเฉลี่ยในช่วง 24 ชั่วโมงที่ผ่านมา (หรือ 1140 นาที) รายสัปดาห์ ตรวจสอบประวัติการสำรองข้อมูลของ MSDB ตรวจสอบเพื่อดูว่าเมื่อครั้งที่ CheckDB ทำงานครั้งสุดท้าย ตรวจสอบดัชนีการแตกแฟรกเมนต์ ตรวจสอบสถิติดัชนี (อ่าน vs เขียน ฯลฯ ) ตรวจสอบคอขวด IO รายเดือน ตรวจสอบดัชนีที่ขาดหายไป ตรวจสอบดัชนีที่ไม่ได้ใช้อีกต่อไป ข้อเสนอแนะอื่น ๆ ? (ฉันใหม่กับ DBA ดังนั้นยินดีให้ความช่วยเหลือ …

1
รูปแบบการตั้งค่าการแบ่งส่วนสำหรับ SQL Server 2008 R2 เพื่อจัดการชุดข้อมูลขนาดใหญ่?
ฉันต้องการจัดการชุดข้อมูลขนาดใหญ่ (> 1 พันล้านแถว) ใน SQL Server 2008 R2 ฉันได้ยินมาว่าหากคุณตั้งค่า "การแบ่งส่วน" หรือ "การแบ่งพาร์ติชันแบบแนวนอน" จะทำให้สามารถจัดการชุดข้อมูลขนาดใหญ่ได้เร็วขึ้นเนื่องจากแบ่งตารางออกเป็นหลายไฟล์ คุณเคยใช้การแบ่งส่วนแนวนอนหรือแนวนอนมาก่อนหรือไม่ ถ้าเป็นเช่นนั้นคุณสามารถแนะนำรูปแบบใด ๆ ที่จากประสบการณ์ของคุณได้ผลลัพธ์ที่ดีกว่าเมื่อเปรียบเทียบกับตารางขนาดใหญ่เดียว?

3
วิธีที่มีประสิทธิภาพมากที่สุดในการทำซ้ำอินสแตนซ์บน SQL 2008 คืออะไร
เรามีอินสแตนซ์ฐานข้อมูลอย่างง่ายที่มีข้อมูลเพียงพอในฐานข้อมูลเพื่อให้มีประโยชน์และเราสามารถใช้เพื่อวัตถุประสงค์ในการสาธิตและฉันต้องการที่จะนำสำเนาของมันไปไว้ในแล็ปท็อปของฉัน ฉันไม่ได้อยู่ที่สำนักงาน (อินสแตนซ์ฐานข้อมูล dev ปกติมีขนาดประมาณ 150GB หนึ่งอินสแตนซ์นี้คือ 3GB) วิธีทำซ้ำ / สคริปต์ได้มากที่สุดสำหรับการสร้างอินสแตนซ์บนแล็ปท็อปของฉันใหม่คืออะไร ฉันแน่ใจว่าฉันจะต้องเรียกใช้งานโปรแกรมติดตั้งอีกครั้งสำหรับ SqlServer2008 และตั้งค่าอินสแตนซ์ แต่หลังจากนั้น ... ฉันคิดว่าฉันต้องการจะลบฐานข้อมูลเก่าของฉันทุกเดือนหรือมากกว่านั้น คัดลอกสิ่งใหม่ทั้งหมดไปยังแล็ปท็อปของฉันเนื่องจากอินสแตนซ์ของฉันจะไม่เปลี่ยนแปลงทั้งในระบบสาธิตเดียวหรือแล็ปท็อป แต่ฐานข้อมูลเองจะอัปเดตพร้อมรีเฟรชบน sprocs และอื่น ๆ ฉันได้พิจารณาการเขียนสคริปต์ทั้งหมด "ปล่อยฐานข้อมูล - ไฟล์เพิ่มฐานข้อมูล - ไฟล์ {พา ธ }" และเก็บไว้ในไฟล์แบทช์ที่รันได้ในบางประเภทแล้วฉันจะ "วางลบคัดลอกเพิ่ม" แต่สงสัยว่ามี เป็นวิธีที่ดีกว่าแค่ xcopy และแบทช์? ฉันกำลังพยายามทำสิ่งนี้ในราคาถูก (เราไม่ได้ลองทำในราคาถูกเสมอไป) ดังนั้นฉันจึงไม่สนใจผลิตภัณฑ์ RedGate เป็นพิเศษ ฉันต้องการบางสิ่งที่ฉันสามารถบำรุงรักษาได้อย่างง่ายดายในเครื่องมือแก้ไขข้อความด้วยตนเอง

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