คำถามติดแท็ก restore

การโหลดฐานข้อมูลจากการสำรองข้อมูลโดยทั่วไปสำหรับการกู้คืนจากความเสียหายหรือเพื่อทำสำเนาของฐานข้อมูลไปยังเซิร์ฟเวอร์อื่น

1
ทำไมเราถึงใช้ FILE = 1 ในสคริปต์เพื่อกู้คืนฐานข้อมูล
เมื่อเร็ว ๆ นี้เมื่อฉันเจอสคริปต์เพื่อกู้คืนฐานข้อมูลฉันสงสัยว่าทำไมเราต้องใช้ " FILE = 1 "? เราไม่สามารถกู้คืนฐานข้อมูลโดยไม่มีคำสั่งนั้นได้หรือไม่! โดยพื้นฐานแล้วมันใช้ทำอะไร?

4
ตัวช่วยสร้างการคืนค่าฐานข้อมูลจะไม่เปิดใน SSMS 2014
บนเครื่องที่ใช้ Windows Server 2012 R2 ฉันเพิ่งอัพเกรด SQL Server จาก 2012 เป็น 2014 ใช้ SQL Server Management Studio 2014 เมื่อฉันคลิกขวาที่ฐานข้อมูลและไปที่Tasks -> Restore -> Database...ไม่มีอะไรเกิดขึ้น ตัวช่วยสร้างการคืนค่าฐานข้อมูลไม่ปรากฏขึ้นอย่างที่คาดไว้ ไม่มีข้อผิดพลาดหรือล่มใน Event Viewer เคอร์เซอร์ไม่ได้เปลี่ยนเป็นนาฬิกาทราย การใช้ T-SQL เพื่อคืนค่าทำงานได้ดีและถ้าฉันย้อนกลับไปใช้ SSMS 2012 ได้ผลดี ความคิดเห็นใด ๆ เกี่ยวกับวิธีทำให้ตัวช่วยสร้างทำงานใน SSMS 2014 ฉันกำลังเชื่อมต่อกับอินสแตนซ์เดียวกันของ SQL Server ในทั้งสองเวอร์ชันของ SSMS และฉันได้ลองใช้ SSMS ในฐานะผู้ดูแลระบบแล้ว เป็น Service Pack …

3
ข้อผิดพลาด“ ฐานข้อมูลกำลังอยู่ในช่วงเปลี่ยนผ่าน”
วันนี้ฉันพยายามกู้คืนฐานข้อมูลผ่านฐานข้อมูลที่มีอยู่แล้วฉันเพียงคลิกขวาที่ฐานข้อมูลใน SSMS -> ภารกิจ -> ใช้ออฟไลน์เพื่อที่ฉันจะคืนค่าฐานข้อมูล หน้าต่างป๊อปอัปขนาดเล็กปรากฏขึ้นและปรากฏขึ้นQuery Executing.....เป็นครั้งคราวแล้วเกิดข้อผิดพลาดDatabase is in use cannot take it offlineขึ้น จากที่ฉันรวบรวมมีการเชื่อมต่อที่ใช้งานกับฐานข้อมูลนั้นดังนั้นฉันพยายามที่จะดำเนินการค้นหาต่อไปนี้ USE master GO ALTER DATABASE My_DatabaseName SET OFFLINE WITH ROLLBACK IMMEDIATE GO อีกครั้งที่จุดนี้ SSMS พบQuery Executing.....บางครั้งแล้วโยนข้อผิดพลาดต่อไปนี้: Msg 5061, Level 16, State 1, Line 1 ALTER DATABASE failed because a lock could not be placed …

4
แยกฟิลด์จาก RESTORE HEADERONLY
ฉันพยายามใช้ 'เรียกคืน HEADERONLY ' เพื่อรับวันที่ที่ฉันกำลังจะทำการสำรองข้อมูล คำสั่ง: RESTORE HEADERONLY FROM DISK = '<path to .bak file>' ทำงานได้ดีใน Query Analyzer และให้ชุดผลลัพธ์กับคอลัมน์ 50 คอลัมน์ ปัญหาคือการเข้าถึงนี้จากรหัส ฉันสามารถเอามันเข้าไปในตารางชั่วคราวได้โดยการประกาศทุก ๆ คอลัมน์ของคอลัมน์ 50: ish แทรกเข้าไปด้วยexecและรับค่าที่ฉันต้องการจากตรงนั้น ปัญหาคือฉันต้องการหลีกเลี่ยงการประกาศ resultset ทั้งหมดเป็นตารางชั่วคราวเนื่องจากดูเหมือนว่าจะเป็นวิธีการแก้ไขที่เปราะบางหากพวกเขาเพิ่มคอลัมน์ลงในรุ่นอนาคต มีวิธีใดที่จะเอาคอลัมน์เดียวออกจากชุดผลลัพธ์นี้โดยไม่ต้องประกาศคอลัมน์ทั้งหมดหรือไม่

6
โอนย้ายจาก SQL Server 2000 เป็น 2012 โดยไม่มีอินสแตนซ์ 2005 หรือ 2008
ฉันเจอฐานข้อมูลเก่าสามตัวที่นั่งอยู่บน SQL Server 2000 ซึ่งฉันต้องการย้ายไปยังปี 2012 ฉันเชื่อว่าวิธีมาตรฐานคือการกู้คืนอินสแตนซ์ของปี 2005 หรือ 2008 อัปเดตส่งออกอีกครั้งและคืนค่าในปี 2012 ใช้ได้ยกเว้นเราไม่มีอินสแตนซ์ 2005 หรือ 2008 มีวิธีแก้ไขปัญหาหรือวิธีอื่น ๆ ที่อาจคุ้มค่าที่จะลองหรือไม่ สำหรับข้อมูลฐานข้อมูลมีเพียง 15-20 ตารางและดูไม่กี่ครั้งซึ่งดูง่ายมากและการสำรองข้อมูลมีขนาดเพียง 100-200MB

1
การกู้คืนการสำรองข้อมูลส่วนต่างจะสร้างไฟล์บันทึก DEFUNCT หรือไม่
นี่คือปัญหาของฉัน ฉันกำลังพยายามย้ายฐานข้อมูลไปยังเซิร์ฟเวอร์ใหม่ผ่านการกู้คืนแบบเต็มจากนั้นตัดด้วยการสำรองข้อมูล / คืนค่าด่วน ฉันสามารถทำการกู้คืนแบบเต็มโดยไม่มีปัญหา แต่เมื่อกู้คืนการสำรองข้อมูลส่วนต่างฉันจะได้รับคำเตือนต่อไปนี้: ข่าวสารเกี่ยวกับ 3127, ระดับ 16, สถานะ 1, บรรทัด 1 ไฟล์ 'Database_Log2' ของฐานข้อมูลที่ถูกกู้คืน 'DatabaseName' กำลังถูกปล่อยให้อยู่ในสถานะหมดอายุเนื่องจากฐานข้อมูลใช้รูปแบบการกู้คืนอย่างง่ายและไฟล์ถูกทำเครื่องหมายสำหรับการเข้าถึงเพื่ออ่าน - เขียน ดังนั้นสามารถกู้คืนไฟล์แบบอ่านอย่างเดียวเท่านั้นโดยการกู้คืนทีละน้อย ฐานข้อมูลกู้คืนและพิจารณาออนไลน์ แต่การดำเนินการสำรองข้อมูลล้มเหลวเนื่องจากไฟล์ DEFUNCT นี้มีข้อผิดพลาดดังต่อไปนี้: ข่าวสารเกี่ยวกับ 3636, ระดับ 16, สถานะ 2, บรรทัด 1 เกิดข้อผิดพลาดขณะประมวลผลข้อมูลเมตา 'BackupMetadata' สำหรับฐานข้อมูล id 10 ไฟล์ id 6. ข่าวสารเกี่ยวกับ 3046, ระดับ 16, สถานะ 2, บรรทัด 1 …

2
A Non-DBA ถาม: วิธีการคัดลอก / ย้ายอินสแตนซ์ SQL Server ไปยังเซิร์ฟเวอร์อื่นผ่านทาง Backup / Restore อย่างไม่ลำบาก
เราเพิ่งมีเซิร์ฟเวอร์ใหม่ดังนั้นฉันต้องการคัดลอกอินสแตนซ์ SQL Server 2008 ที่มีอยู่ไปจากกล่องฐานข้อมูลเก่า ปกติแล้วฉันจะทำสิ่งนี้โดยการคัดลอก. mdf และล็อกไฟล์และแนบไฟล์เหล่านั้น แต่ฉันไม่สามารถใช้ dbs off line ได้เนื่องจากพวกเขาใช้งานตลอด 24 ชั่วโมงทุกวันดังนั้นฉันจึงสำรองฐานข้อมูลและเรียกคืนไฟล์ใหม่ เครื่อง อย่างไรก็ตามผมได้จบลงด้วยสองสามประเด็นหนึ่งของพวกเขาที่เกี่ยวข้องกับผู้ใช้กำพร้า ดังนั้นสิ่งที่ฉันกำลังมองหาคือกระบวนการที่ไม่ปลอดภัยในการเคลื่อนย้ายทุกอย่างไปด้วยความยุ่งยาก / รำคาญ / ปวดหัวน้อยที่สุด ฉันเป็น. dev ที่มีจำนวน SQL อยู่พอสมควร แต่การทำงานภายในของ SQL Server ส่วนใหญ่เป็นเรื่องลึกลับสำหรับฉันและฉันพบว่าเอกสาร MS เจ็บปวดต่อการอวนลาก กรุณาช่วย.

5
สิทธิ์ของผู้ใช้สับสนขึ้นหลังจากการสำรองข้อมูล -> การดำเนินการคืนค่า
ฉันต้องย้ายฐานข้อมูล SQL Server 2008 หลายตัวไปยังเซิร์ฟเวอร์ db ใหม่ของเราดังนั้นฉันจึงสำรองข้อมูลทั้งหมด (เป็นไฟล์. bak) คัดลอกไฟล์เหล่านี้ไปยังกล่องใหม่และเรียกคืนพวกเขา (ทั้งหมดทำได้โดยใช้ SQL Management Studio) ทุกอย่างก็โอเค แต่ตอนนี้ฉันพบว่าฉันไม่สามารถลงชื่อเข้าใช้ฐานข้อมูลใด ๆ โดยใช้บัญชี SQL Server ที่ยังคงทำงานบน RDBMS เก่าได้ การเข้าสู่ระบบที่ได้รับการรับรองความถูกต้องของ windows ของฉันยังคงทำงานได้ดี ฉันมีความคิดนี้ผู้ใช้และสิทธิ์ทั้งหมดจะถูกทำซ้ำอย่างราบรื่นบนเซิร์ฟเวอร์ฐานข้อมูลใหม่ แต่ดูเหมือนว่ามีบางอย่างผิดปกติ ฉันขอขอบคุณความเห็น / ข้อเสนอแนะ / ข้อเสนอการช่วยเหลือ ;-)

3
ไม่สามารถกู้คืนฐานข้อมูลที่เปิดใช้งาน TDE เมื่อใช้ MAXTRANSFERSIZE และ CHECKSUM
Update : @AmitBanerjee - ผู้จัดการโปรแกรมอาวุโสสำหรับกลุ่มผลิตภัณฑ์ Microsoft SQL Server ยืนยันว่า MS จะตรวจสอบปัญหาเนื่องจากมีข้อบกพร่อง มีใครพบปัญหาในการกู้คืนข้อมูลสำรองใน SQL Server 2016 ที่เปิดใช้งาน TDE และใช้MAXTRANSFERSIZE> 65536 (ในกรณีของฉันฉันเลือก 65537 เพื่อให้สามารถบีบอัดฐานข้อมูล TDE ) และCHECKSUM? ด้านล่างนี้เป็นคำซ้ำ: --- create database create database test_restore go -- create table create table test_kin (fname char(10)) go -- Enable TDE use master GO CREATE CERTIFICATE …

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 …

1
ฉันจะหา FamilyGUID ของฐานข้อมูล exsting ได้อย่างไร
เมื่อรันRESTOREคำสั่งฉันเข้าใจว่า SQL Server ทำให้แน่ใจว่าฐานข้อมูลที่มีอยู่ไม่ได้ถูกเขียนทับโดยฐานข้อมูลอื่น REPLACEการตรวจสอบนี้สามารถข้ามได้โดยใช้ ฉันเข้าใจว่า SQL Server ใช้ไฟล์สำรองFamilyGUIDเพื่อตรวจสอบว่าฐานข้อมูลที่กำลังกู้คืนนั้นเหมือนกับฐานข้อมูลที่ถูกเขียนทับหรือไม่ ถูกต้องหรือไม่ ฉันเข้าใจว่าFamilyGUIDสามารถใช้ไฟล์สำรองข้อมูลได้ RESTORE headeronly FROM DISK = N'Q:\MyBackup.bak' แต่ฉันจะค้นหา FamilyGUID ของฐานข้อมูลที่ถูกเขียนทับได้อย่างไร

1
ไม่สามารถกู้คืนได้ (ข้อผิดพลาด 3456)
ฉันมีสถานการณ์ที่ไม่สามารถเข้าใจได้ง่ายและคิดว่าฉันจะถามในฟอรัมนี้หากผู้อื่นอาจมีคำแนะนำ ฉันใช้ SQL Server 2008 R2 SP3 มาตรฐานบน Windows Server 2008R2 Enterprise ฐานข้อมูลต้องการการบำรุงรักษาและหลังจากที่ฉันต้องกู้คืนบนเซิร์ฟเวอร์อื่น ฉันมีการสำรองฐานข้อมูลเต็มรูปแบบโดยใช้ COPY_ONLY บวกชุดสำเนาสำรอง 4 ชุด ก่อนที่จะเริ่มสร้าง tlogbackup1 เปลี่ยนจากFULLเป็นBULK_LOGGEDโมเดลการกู้คืน เพิ่มกลุ่มไฟล์ใหม่ เพิ่มไฟล์ไปยัง newfilegroup ตั้ง newfilegroup ให้เป็นค่าเริ่มต้น เลือกลงในตาราง (ใน newfilegroup) วางตารางต้นฉบับ ลบไฟล์ต้นฉบับ ลบกลุ่มไฟล์ดั้งเดิม เปลี่ยนชื่อของตารางใหม่เพื่อให้ตรงกับตารางเดิม เปลี่ยนชื่อไฟล์ของ newfilegroup เพื่อให้ตรงกับกลุ่มไฟล์ดั้งเดิม เปลี่ยนชื่อไฟล์ในแค็ตตาล็อกเพื่อให้ตรงกับชื่อไฟล์ต้นฉบับ เปลี่ยนชื่อไฟล์ที่ระดับ OS เพื่อให้ตรงกับชื่อไฟล์ต้นฉบับ กำหนด filegroup เริ่มต้นให้เป็นต้นฉบับ นำ db ออนไลน์ เปลี่ยนจากBULK_LOGGEDเป็นFULLโมเดลการกู้คืน หลังจากเสร็จสิ้นทุกขั้นตอนให้สร้าง tlogbackup2 …

1
สำรองข้อมูล Tail Log เมื่อทำการกู้คืน?
โดยทั่วไปเมื่อทำการกู้คืนฐานข้อมูลจากเซิร์ฟเวอร์ที่ใช้งานจริงไปยังเซิร์ฟเวอร์ที่ไม่ได้ใช้งานจริงฉันจะใช้ตัวเลือก WITH REPLACE เช่นเดียวกับเมื่อฉันลืมฉันได้รับข้อผิดพลาดเกี่ยวกับ tail log ที่ไม่มีการสำรองข้อมูล ตาม MSDNฉันควรสำรองข้อมูล tail tail ก่อนที่จะกู้คืน: หากฐานข้อมูลออนไลน์และคุณวางแผนที่จะดำเนินการกู้คืนข้อมูลในฐานข้อมูลให้เริ่มต้นด้วยการสำรองข้อมูลส่วนท้ายของบันทึก เพื่อหลีกเลี่ยงข้อผิดพลาดสำหรับฐานข้อมูลออนไลน์คุณต้องใช้ตัวเลือก… WITH NORECOVERY ของคำสั่ง BACKUP Transact-SQL อันตรายหรือข้อเสียของวิธีที่ฉันทำมีอะไรบ้าง ทำไมการสำรองข้อมูล tail tail ไว้ก่อนจึงเป็นประโยชน์กับฉัน ฉันใช้ SQL Server 2008R2 แต่ฉันสันนิษฐานว่าแบบสอบถามนี้จะเกี่ยวข้องกับ SQL Server รุ่นใหม่กว่าส่วนใหญ่ดังนั้นจึงไม่ได้ติดแท็กเป็นเช่นนั้นในตอนแรก
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.