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

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

4
ทำซ้ำฐานข้อมูล MySQL ระยะไกลไปยัง MS SQL Server 2008
ฉันต้องการทำซ้ำเนื้อหาของฐานข้อมูล MySQL เป็นฐานข้อมูล MS SQL Server 2008 เป็นไปได้ไหม ใครสามารถร่างขั้นตอนที่จำเป็นเพื่อให้บรรลุนี้ ขอบคุณ

2
เหตุใดฉันไม่สามารถอ่านคอลัมน์ Oracles CLOB ผ่านเซิร์ฟเวอร์ที่เชื่อมโยงกับ SQL-SERVER 2008
ฉันต้องการเข้าถึงข้อมูลในฐานข้อมูล Oracle 11g จาก SQL-Server 2008 ฉันตั้งค่าเซิร์ฟเวอร์ที่เชื่อมโยงและเมื่อฉันดำเนินการ select * from [Link_server_name]..Oracle_schema.Oracle_table และ Oracle_table มีคอลัมน์ Number และ varchar2 ทั้งหมดทำงานตามที่ได้รับการยกเว้น แต่เมื่อ Oracle_table มีคอลัมน์ CLOB ฉันได้รับข้อผิดพลาดต่อไปนี้: Der OLE DB-Anbieter 'MSDAORA' für den Verbindungsserver 'L_V407SR8T' hat die Meldung 'ข้อผิดพลาดที่ไม่ระบุ' zurückgeben Der OLE DB-Anbieter 'MSDAORA' für den Verbindungsserver 'L_V407SR8T' hat die Meldung 'เกิดข้อผิดพลาดของ Oracle แต่ไม่สามารถดึงข้อความแสดงข้อผิดพลาดจาก …

1
การใช้เซิร์ฟเวอร์ที่เชื่อมโยงกับ OPENQUERY ในโครงการฐานข้อมูล
ฉันมี SQL Server 2008 ที่ใช้ฐานข้อมูลที่ฉันต้องการจะโยนใน TFS ดังนั้นฉันจึงใช้โครงการฐานข้อมูล Visual Studio 2013 ที่ฉันนำเข้าฐานข้อมูล หลังจากแก้ไขข้อผิดพลาดจำนวนมากฉันติดอยู่กับข้อผิดพลาดเดียวที่เหลืออยู่: ในมุมมองหนึ่ง devs ที่ใช้OPENQUERYในการเข้าถึงเซิร์ฟเวอร์ที่เชื่อมโยง ดังนั้นฉันจึงนำเข้า DACPAC ซึ่งมีฐานข้อมูลที่ถูกต้องและเพิ่มเข้าไปในโครงการโดยใช้Add Database Referenceตัวเลือกการอ้างอิงต่อไปนี้ เวอร์ชันสคริปต์เริ่มต้น นี่คือเวอร์ชันที่สั้นกว่าของการสร้างมุมมองดั้งเดิม: CREATE VIEW dbo.vwStatus AS SELECT StatusID, StatusName FROM OPENQUERY(LinkedServer, 'SELECT * FROM [DB].[dbo].tbStatus') AS derivedtbl_1 นำไปสู่ข้อผิดพลาดต่อไปนี้: ข้อผิดพลาด 136 SQL71501: มุมมอง: [dbo]. [vwStatus] มีการอ้างอิงที่ไม่ได้แก้ไขไปยังวัตถุ [LinkedServer] ความพยายามครั้งแรก ดังนั้นฉันจึงพยายามแทรกตัวแปรชื่อเซิร์ฟเวอร์ FROM OPENQUERY($(LinkedServer), …

2
ฉันจะเพิ่มนาทีในประเภทข้อมูลเวลาได้อย่างไร
ฉันมีขั้นตอนการจัดเก็บที่แทรกสองระเบียนลงในตารางความแตกต่างระหว่างบันทึกคือคอลัมน์เวลาของระเบียนที่สองอยู่@MinToAddหลังแรก: CREATE PROCEDURE CreateEntry /*Other columns*/ @StartTime time(2), @EndTime time(2), @MinutesToAdd smallint AS BEGIN SET NOCOUNT ON; SET @MinutesToAdd = @MinutesToAdd % 1440; --Prevent overflow if needed? IF (@MinutesToAdd > 0) BEGIN INSERT INTO ClientNotification (/*Other columns*/ startTime, endTime) OUTPUT inserted.id VALUES (/*Other columns*/ @StartTime, @EndTime), (/*Other columns*/ @StartTime + …

3
ผู้ใช้ไม่สามารถดูตารางใน schema ที่ไม่ใช่ค่าเริ่มต้นใน SSMS
ฉันมีปัญหาในการตั้งค่าการVIEW DEFINITIONอนุญาตอย่างเหมาะสมในระดับสคีมาสำหรับผู้ใช้รายหนึ่งของฉัน ฉันสร้างคีมาTestSchemaแล้วเพิ่มบางตาราง ผู้ใช้ปัจจุบันมีสิทธิ์ในการเข้าถึงการตั้งค่าและปรับเปลี่ยนตาราง ( SELECT, UPDATE, DELETEฯลฯ ) ผ่านdbo_datareaderและdbo_datawriterบทบาท อย่างไรก็ตามพวกเขาไม่สามารถมองเห็นตารางใด ๆ ในตัวสำรวจวัตถุ SSMS ฉันลองให้สิทธิ์เพื่อดูคำจำกัดความ: grant view definition on SCHEMA :: [TestSchema] to [User] นั่นไม่ได้ผล ฉันพยายามตั้งค่าการอนุญาตระดับตาราง: grant view definition on [TestSchema].[NewTable] to [User] นั่นก็ไม่ได้ผล จากนั้นฉันก็ลองแค่ให้ผ้าห่ม: grant view definition to [User] และนั่นก็ใช้ได้ ตอนนี้พวกเขาสามารถมองเห็นTestSchemaได้เช่นเดียวกับสกีมาอื่น ๆ ที่พวกเขาไม่ควรเข้าถึง เป้าหมายของฉันที่นี่คืออนุญาตให้ผู้ใช้ดูตารางทั้งหมดภายในสคีมาที่กำหนด ฉันจะทำให้สำเร็จได้อย่างไร หากฉันควรจะทำสิ่งนี้โดยค่าเริ่มต้นฉันควรตรวจสอบสิทธิ์ใดบ้างเพื่อค้นหาสาเหตุที่ทำไม่ได้

1
“ * รหัสผ่าน ------------” หมายความว่าอย่างไรในรายงานการหยุดชะงักของโปรไฟล์
ใน SQL Server 2008 R2 ฉันได้รับรายงานการหยุดชะงักหลายครั้งที่มี "* รหัสผ่าน ------------" ในบัฟเฟอร์อินพุต ดูเหมือนว่าจะเป็นการโจมตี แต่ในกรณีนั้นฉันไม่รู้เหตุผลหรือชนิดของการโจมตี (บันทึกถูกสร้างขึ้นโดย DBA ผู้เชี่ยวชาญมีประสบการณ์มากมายและบอกฉันว่าไม่ใช่ฉัน) ไม่มีใครรู้ว่ามันคืออะไร? ขอบคุณ! ตัวอย่าง: <?xml version="1.0"?> <blocked-process> <process id="process879948" taskpriority="0" logused="0" waitresource="KEY: 5:72057602473263104 (1d69201d0ba6)" waittime="5185" ownerId="88389135" transactionname="SELECT" lasttranstarted="2012-09-25T18:11:02.507" XDES="0x1f7d2a590" lockMode="S" schedulerid="2" kpid="4552" status="suspended" spid="86" sbid="2" ecid="0" priority="0" trancount="0" lastbatchstarted="2012-09-25T18:11:02.507" lastbatchcompleted="2012-09-25T18:11:02.507" lastattention="2012-09-25T18:07:35.740" clientapp=".Net SqlClient Data Provider" hostname="IP-xxxxxxxx" …

6
ตารางที่มีลำดับชั้น: สร้างข้อ จำกัด เพื่อป้องกันการเวียนผ่านปุ่มต่างประเทศ
สมมติว่าเรามีตารางที่มีข้อ จำกัด foreign key กับตัวเองเช่น: CREATE TABLE Foo (FooId BIGINT PRIMARY KEY, ParentFooId BIGINT, FOREIGN KEY([ParentFooId]) REFERENCES Foo ([FooId]) ) INSERT INTO Foo (FooId, ParentFooId) VALUES (1, NULL), (2, 1), (3, 2) UPDATE Foo SET ParentFooId = 3 WHERE FooId = 1 ตารางนี้จะมีบันทึกต่อไปนี้: FooId ParentFooId ----- ----------- 1 3 2 …

1
กู้คืนฐานข้อมูลที่เข้ารหัสไปยังเซิร์ฟเวอร์อื่น
ฉันใช้ผลิตภัณฑ์ที่ทำงานบน SQLServer 2008 เข้าใจได้ว่า บริษัท ที่จัดหานั้นไม่ได้ให้การสนับสนุน SQLServer เมื่อฉันติดตั้งผลิตภัณฑ์ฉันระบุรหัสผ่านเพื่อเข้ารหัสฐานข้อมูล ฉันต้องการเรียกใช้สำเนาผลิตภัณฑ์อื่นเพื่อทดสอบบนเซิร์ฟเวอร์อื่น ฉันกู้คืนฐานข้อมูลไปยังเซิร์ฟเวอร์อื่นและติดตั้งผลิตภัณฑ์บนเซิร์ฟเวอร์อื่นนั้น เมื่อฉันติดตั้งฉันได้ให้รหัสผ่านเดียวกันแล้วคืนค่าการสำรองข้อมูลจากเซิร์ฟเวอร์หลัก อย่างไรก็ตามฉันได้รับข้อความแสดงข้อผิดพลาด: System.Data.SqlClient.SqlException: An error occurred during decryption. จากผลิตภัณฑ์ ฉันสามารถเข้าถึงตารางโดยใช้สตูดิโอจัดการ SQLServer ฉันได้ลองสิ่งนี้แล้ว: บนเซิร์ฟเวอร์แรก: CREATE CERTIFICATE cert1 WITH SUBJECT = 'Certificate for my stuff' BACKUP CERTIFICATE cert1 TO FILE = 'd:\backup\cert1.dat' WITH PRIVATE KEY ( ENCRYPTION BY PASSWORD = 'mypassword', FILE …

4
SQL Server เปลี่ยนชื่อตารางจากฐานข้อมูลอื่น
มีวิธีใดใน SQL Server ที่จะเปลี่ยนชื่อตารางในฐานข้อมูลอื่นหรือไม่? เมื่อคุณอยู่ในฐานข้อมูลปัจจุบันและย้ายข้อมูลไปยังฐานข้อมูลอื่นในตาราง TEMP แล้วเปลี่ยนชื่อตาราง TEMP ในฐานข้อมูลอื่นนั้น ฉันไม่ต้องการใช้ "USE [ฐานข้อมูล]" เนื่องจากชื่อฐานข้อมูลสามารถเปลี่ยนแปลงได้บนเซิร์ฟเวอร์ที่แตกต่างกัน ขอบคุณสำหรับความช่วยเหลือล่วงหน้า!

1
เวลาออมแสง
ในสภาพแวดล้อมของฉันมีเซิร์ฟเวอร์ที่ทำงานบนการสำรองข้อมูลดั้งเดิมและแผน Ola Hallengren เซิร์ฟเวอร์ของเรามีการรวมกันของปี 2008, 2012 และ 2014 การสำรองข้อมูลเต็มรูปแบบทั้งหมดจะดำเนินการเวลา 12.00 น. และมีการสำรองข้อมูลบันทึกทุก 15 นาที ฉันไม่เคยคิดที่จะปรับเวลาตามฤดูกาลมาก่อนดังนั้นโปรดบอกฉันว่าควรปรับอะไรบ้าง การสำรองข้อมูลเต็มรูปแบบ 12am จะได้รับผลกระทบหรือไม่และจะเกิดอะไรขึ้นกับการสำรองข้อมูลบันทึก

1
เราควรใช้ QUOTENAME เพื่อป้องกันการโจมตีจากการฉีดหรือไม่
ฉันดูขั้นตอนการจัดเก็บแบบเก่าวันนี้และสังเกตว่ามันใช้quotenameกับพารามิเตอร์อินพุต หลังจากขุดลงไปเพื่อหาว่ามันทำอะไรฉันก็เจอเว็บไซต์นี้ ตอนนี้ฉันเข้าใจแล้วว่ามันทำอะไรและจะใช้อย่างไร แต่เว็บไซต์บอกว่ามันถูกใช้เพื่อลดการโจมตีจากการฉีด SQL เมื่อฉันใช้ในการพัฒนาแอพที่สอบถามฐานข้อมูลโดยตรงโดยใช้ asp.net ฉันจะใช้พารามิเตอร์ ADO.Net เพื่อส่งผ่านการป้อนข้อมูลของผู้ใช้เป็นค่าที่แท้จริงและไม่เคยกังวลเกี่ยวกับการปกป้องในขั้นตอนการจัดเก็บของฉัน ตอนนี้ฉันกำลังเขียนโพรซีเดอร์ที่เก็บไว้ซึ่งจะถูกใช้โดยแอปพลิเคชันที่ฉันไม่ได้เขียนดังนั้นฉันจึงจำเป็นต้องลองและป้องกันจากการโจมตีของการฉีดที่ระดับโพรซีเดอร์เป็นquotenameวิธีที่ดีที่สุดในการทำสิ่งนี้ วิธี? รหัสที่ทำให้ฉันในรูปแบบความคิดนี้ ( @parm1เป็นพารามิเตอร์ที่ผู้ใช้ป้อน): 'SELECT project [Project], project_desc [Description], customer [Customer], cpnyid [Company] FROM PJPROJ (nolock) where project like ' + quotename(@parm1,'''') + '

2
SQL Server เทียบเท่ากับ Oracle USING clause
มี SQL Server 2008 เทียบเท่ากับ USING INDEX clause ใน Oracle หรือไม่? เฉพาะสำหรับการสร้าง: CREATE TABLE c(c1 INT, c2 INT); CREATE INDEX ci ON c (c1, c2); ALTER TABLE c ADD CONSTRAINT cpk PRIMARY KEY (c1) USING INDEX ci; ในเอกสารเซิร์ฟเวอร์ SQL ในดัชนีที่ไม่ซ้ำจะระบุ (เน้นเพิ่ม): มีการใช้ดัชนีที่ไม่ซ้ำกันในวิธีต่อไปนี้: คีย์หลักหรือข้อ จำกัด ที่ไม่ซ้ำกัน เมื่อคุณสร้างข้อ จำกัด คีย์หลักดัชนีคลัสเตอร์ที่ไม่ซ้ำกันในคอลัมน์หรือคอลัมน์ที่ถูกสร้างขึ้นโดยอัตโนมัติหากดัชนีคลัสเตอร์บนโต๊ะไม่ได้อยู่แล้วและคุณไม่ได้ระบุดัชนี nonclustered ที่ไม่ซ้ำกัน …

3
“ FETCH API_CURSOR0000 …” มากมายบน sp_WhoIsActive (SQL Server 2008 R2)
ฉันมีสถานการณ์ที่แปลก ใช้sp_whoisactiveฉันเห็นสิ่งนี้: ตกลงด้วยคำถามนี้ฉันสามารถเห็นสิ่งที่เรียก (คำนี้มีอยู่ในภาษาอังกฤษ?) มัน: SELECT c.session_id, c.properties, c.creation_time, c.is_open, t.text FROM sys.dm_exec_cursors (SPID) c --0 for all cursors running CROSS APPLY sys.dm_exec_sql_text (c.sql_handle) t ผลลัพธ์: selectมันเป็นเรื่องง่าย ทำไมถึงใช้ f etch_cursor? นอกจากนี้ฉันเห็น sql_texts "blank" จำนวนมากด้วย สิ่งนี้มีบางอย่างกับ "เคอร์เซอร์" นี้หรือไม่? DBCC INPUTBUFFER (spid) แสดงให้ฉันเห็นนี้: มีคำถามนี้ที่ นี่ (ทำโดยฉัน) แต่ฉันไม่รู้ว่านี่เป็นสิ่งเดียวกันหรือไม่ EDIT1: เมื่อใช้เคียวรีที่จัดทำโดยญาติฉันเห็นสิ่งนี้ EDIT2: ใช้การตรวจสอบกิจกรรมฉันสามารถเห็นสิ่งนี้: มันเป็นข้อความค้นหาที่แพงที่สุด …

3
มีข้อดีที่จะไม่แบ่งพาร์ติชันให้สอดคล้องกับดัชนีหรือไม่?
ฉันมีสิทธิ์จัดการตาราง OLAP ที่แบ่งพาร์ติชันขนาดใหญ่ ในขณะที่ตรวจสอบตารางนี้ฉันสังเกตเห็นว่าดัชนีตัวใดตัวหนึ่งไม่ตรงกับชุดรูปแบบการแบ่งพาร์ติชัน เนื่องจากผู้เขียนไม่พร้อมใช้งานและการค้นหาของ Google ที่สร้างขึ้นอย่างระมัดระวังจึงไม่ส่งคืนผลลัพธ์ที่เป็นประโยชน์ใด ๆ ฉันไม่แน่ใจว่าสิ่งนี้เป็นไปโดยเจตนาหรือไม่ตั้งใจ มีเหตุผลใดที่จะไม่จัดพาร์ติชันดัชนีใน SQL Server 2008?

1
จะทราบได้อย่างไรว่าไฟล์สำรองประกอบด้วย CDC หรือไม่
การใช้ SQL Server 2008 ถึงปี 2014 ฉันรู้วิธีสำรองและกู้คืนฐานข้อมูลด้วย Change Data Capture enabled (CDC) แต่สิ่งที่ฉันกำลังมองหาคือวิธีการสืบค้นไฟล์สำรองข้อมูลเต็มรูปแบบเพื่อตรวจสอบว่ามีข้อมูล CDC หรือไม่ สิ่งที่ดีมากจะเป็นเช่นRESTORE FILELISTONLYนั้นที่ได้รับรายชื่อไฟล์จากฐานข้อมูล แต่รับสถานะ CDC แทนเพื่อพิจารณาว่าการกู้คืนจะต้องใช้การตั้งค่าสถานะ KEEP_CDC หรือไม่ มีวิธีการตรวจสอบว่าการสำรองข้อมูลประกอบด้วยข้อมูล CDC หรือไม่ ขอบคุณ!

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