[Question] Backup / Restore DATABASE MsSQL (hoặc từng TABLE) bằng dòng lệnh SQL ? |
14/12/2011 00:44:04 (+0700) | #1 | 251068 |
|
khigiadano
Member
|
0 |
|
|
Joined: 27/02/2008 18:20:56
Messages: 370
Location: http://aspx.vn
Offline
|
|
Chào mọi người,
Mọi người xem giúp mình vụ này với.
Thử trình bày thắc mắc theo phong cách mới xem mọi người thấy có rõ ràng và nên phát huy hay không nhé
Tình trạng:
Mình đang viết web asp.net với ngôn ngữ C# và sử dụng csdl MsSQL.
Mong muốn:
Backup và restore database = dòng lệnh truy vấn SQL.
Backup và restore từng table = dòng lệnh truy vấn SQL.
Đã làm được:
Backup database : BACKUP DATABASE ten_csdl TO DISK = 'D:\abc.bak'
Chưa làm được:
Restore database
Backup và restore từng table
Cần giúp đỡ:
để restore database mình đã thử với dòng lệnh
USE master RESTORE DATABASE visa FROM DISK = 'D:\abc.bak' WITH REPLACE
nhưng nó chỉ sử dụng được khi csdl không có ai khác truy xuất, nếu không sẽ báo lỗi:
Exclusive access could not be obtained because the database is in use.
RESTORE DATABASE is terminating abnormally.
Changed database context to 'master'.
Phải làm thế nào để khắc phục lỗi này? hay là dùng phương pháp khác ?
còn backup và restore từng table thì mình chưa tìm ra cách làm ?
P/S:
Mình đã cố search với google rồi nên anh em hi vọng giúp đỡ, đừng chỉ lên đấy nữa nha. |
|
Yahoo ID: khigiadano - Tel: 0907.870.676 - Email: khigiadano@gmail.com
Mình rất kém, vào đây học hỏi kinh nghiệm thôi... |
|
|
|
[Question] Backup / Restore DATABASE MsSQL (hoặc từng TABLE) bằng dòng lệnh SQL ? |
14/12/2011 09:33:34 (+0700) | #2 | 251088 |
kenshin19xx
Member
|
0 |
|
|
Joined: 09/11/2011 04:32:19
Messages: 18
Offline
|
|
lỗi đó báo là bạn đang sử dụng database cần restore,ban đổi qua database master rồi restore xem,có thể tham khảo thêm ở đây
http://blog.sqlauthority.com/2007/02/25/sql-server-restore-database-backup-using-sql-script-t-sql/ |
|
|
|
|
[Question] Backup / Restore DATABASE MsSQL (hoặc từng TABLE) bằng dòng lệnh SQL ? |
18/12/2011 01:11:27 (+0700) | #3 | 251216 |
|
khigiadano
Member
|
0 |
|
|
Joined: 27/02/2008 18:20:56
Messages: 370
Location: http://aspx.vn
Offline
|
|
Hi. Mấy ngày qua làm việc căng thắng quá.
CSDL mình dùng không phải dạng file .MDF đi kèm trong mã nguồn web mà nằm trong thư mục hệ thống.
Theo link bạn gửi mình thấy có liên quan đến các file .MDF và .LDF
Lỡ mình dùng các hosting khác thì làm sao xác định được đường dẫn của các file này trong thư mục hệ thống để restore ?
Và hiện tại mình làm theo hướng dẫn trên vẫn báo lỗi te tua
Incorrect syntax near the keyword 'WITH'.
Incorrect syntax near the keyword 'with'. If this statement is a common table expression or an xmlnamespaces clause, the previous statement must be terminated with a semicolon.
Incorrect syntax near 'IMMEDIATE'.
Incorrect syntax near 'DISK'.
Incorrect syntax near the keyword 'with'. If this statement is a common table expression or an xmlnamespaces clause, the previous statement must be terminated with a semicolon.
Không biết bạn nào có cách để backup và restore từng TABLE có lựa chọn không nhỉ? |
|
Yahoo ID: khigiadano - Tel: 0907.870.676 - Email: khigiadano@gmail.com
Mình rất kém, vào đây học hỏi kinh nghiệm thôi... |
|
|
|
[Question] Backup / Restore DATABASE MsSQL (hoặc từng TABLE) bằng dòng lệnh SQL ? |
18/12/2011 15:22:16 (+0700) | #4 | 251233 |
NGHIENVT
Member
|
0 |
|
|
Joined: 18/02/2009 07:53:53
Messages: 1
Offline
|
|
Mình tìm được trên mạng file hướng dẫn tên: High Performance MySQL
Trong đó mình lọc được một số câu lệnh để dùng bằng shell, ví dụ như:
--Backup Table: x=lock all tables // -proot (password:root)
mysqldump -u root -proot -x myDatabaseLogin myTableShopItem > C:\backup.sql
--Restore Table:
mysql -u root -proot --database myDatabaseLogin < C:\backup.sql
Mình lúa về asp nên không biết bạn có dùng được không, nhất là dùng C#...
Chúc bạn sớm tìm ra cách giải quyết |
|
|
|
|
[Question] Backup / Restore DATABASE MsSQL (hoặc từng TABLE) bằng dòng lệnh SQL ? |
19/12/2011 02:15:02 (+0700) | #5 | 251257 |
|
rongchaua
Elite Member
|
0 |
|
|
Joined: 19/01/2003 04:09:23
Messages: 124
Offline
|
|
Để backup/restore Database với C# thì ko cần dùng lệnh SQL đâu. MS SQL nó có cài đặt theo Assembly để gọi các thao tác trong MS SQL từ C#. Xem ở đây
http://msdn.microsoft.com/en-us/library/microsoft.sqlserver.management.smo.aspx
và ví dụ ở đây http://www.codeproject.com/KB/database/SQL_Server_2005_Database.aspx
Còn nếu muốn dùng câu lệnh SQL thì cài đặt SQL Managment Studio, trong đó nó có tất cả các tác vụ cần thiết. Lựa chọn các tác vụ đó rồi nhấn vào nút Script nó sẽ script ra lệnh SQL cho mình.
Khi backup/restore thì MS SQL nó sẽ cho 2 option là complete backup hoặc only changes backup nhưng không có cho lựa chon backup/restore theo table (ít nhất trong phiên bản SQL Express là vậy) muốn backup/restore theo table thì tự code thôi. Cách làm thì backup data ra XML (thông qua ADO.NET với DataSet.WriteXML() và restore nó lại với DataSet.ReadXML() và viết lại vào database. Khá phức tạp và rối rắm nếu CSDL phức tạp.
Lời khuyên: Download Management Studio về sử dụng sẽ giải quyết các vấn đề với MS SQL nhanh hơn.
|
|
My website: http://rongchaua.net |
|
|
|
|