2009-12-29 88 views
5

Tôi có tệp Cơ sở dữ liệu chính của Máy chủ SQL. (.mdf)Cách chỉnh sửa Tệp Cơ sở dữ liệu Chính của Máy chủ SQL .mdf

Tôi yêu cầu một chương trình có thể mở tệp và cho phép tôi chỉnh sửa một số dữ liệu.

Vì có nhiều trường, nên tẻ nhạt để mở tất cả các bản ghi và sửa đổi nó.

Bạn có nên làm như vậy không? Tôi luôn có thể sao lưu tệp .mdf trước khi chơi với nó, vì tôi không có bất kỳ kiến ​​thức lập trình nào.

+2

Bạn có muốn một cái gì đó khác ngoài SQL Server để sửa đổi các tập tin, bởi vì thats khá nhiều ** những gì ** máy chủ sql là cho. – GrayWizardx

+0

Có màu xám, tôi muốn một cái gì đó khác hơn so với SQL Server vì tôi không có kiến ​​thức lập trình. Tôi chỉ muốn cập nhật một số dữ liệu, thay vì đi tới từng bản ghi bằng phần mềm được tạo bằng SQL Server. – Vicky

Trả lời

9

Tải xuống SQL Server Management Studio Express và viết truy vấn cập nhật để thay đổi các trường bắt buộc.

Tôi gần như có thể đảm bảo rằng việc chỉnh sửa tệp MDF trực tiếp là nguy hiểm đối với dữ liệu của bạn và không được Microsoft hỗ trợ theo bất kỳ cách nào.

Nếu bạn không có kiến ​​thức lập trình, bạn nên nhờ ai đó viết truy vấn cập nhật cho bạn. Hoặc bạn có thể tự mình đọc về SQL cơ bản. Hầu hết mọi người có thể làm việc với các câu lệnh SELECT và UPDATE đơn giản khá nhanh chóng.

Đây là một số tốt simple introduction to the UPDATE statement.

+0

Ash, tôi cho rằng tệp của tôi nằm trong SQL Server 2008, SQL Server Management Studio Express (Microsoft SQL Server Management Studio Express (SSMSE) là một công cụ quản lý đồ họa miễn phí, dễ sử dụng để quản lý SQL Server 2005 Express Edition và SQL Server 2005 Express Edition với các dịch vụ nâng cao.). Nó sẽ là ok để sử dụng nó?Thứ hai, tôi có thể cài đặt nó trên cùng một PC nơi phần mềm của tôi và SQL Server 2008 được cài đặt không? btw, cảm ơn cho câu trả lời ... Tôi sẽ cố gắng tôi nghĩ rằng nó sẽ giúp đỡ. – Vicky

+0

Vicky, có phiên bản SQL Server 2008 sẵn có tại đây: http://www.microsoft.com/downloads/details.aspx?familyid=08E52AC2-1D62-45F6-9A4A-4B76A8564A2B&displaylang=vi – Ash

+0

Bạn có thể cài đặt phiên bản này trên cùng một PC không có vấn đề gì. Tuy nhiên nếu bạn đã có SQL Server 2008, bạn cũng nên có phiên bản đầy đủ của SQL Management Studio 2008. Kiểm tra nó trong trình đơn bắt đầu của bạn. – Ash

0

Tôi nghĩ rằng nó sẽ giúp ích nếu bạn attach tệp .mdf làm cơ sở dữ liệu trong SQL Server và sau đó phát với các bản ghi trong đó.

cổ vũ

3

Bạn không thể cập nhật dữ liệu trong tệp MDF ngoài SQL Server. Định dạng tệp không được tiết lộ và thậm chí nếu bạn quản lý bằng cách nào đó thực hiện cập nhật trong đó kiểm tra tính toàn vẹn sẽ tốt nhất khiến các bảng được sửa đổi bị đánh dấu là bị hỏng, ở vị trí tệ hơn toàn bộ cơ sở dữ liệu ngoại tuyến.

Chỉ có một công cụ có thể mở và sửa đổi tệp MDF: phiên bản SQL Server của phiên bản thích hợp, như Ash đã hướng dẫn bạn. Trước khi thực hiện bất kỳ sửa đổi nào đối với cơ sở dữ liệu, tôi rất khuyên bạn nên tạo một bản sao của các tệp LDF MDF LDF.

1

Tôi chia sẻ nỗi đau của bạn ở đây; -)) ... không có gì giống như tiện ích nhỏ/gọn/trung bình/miễn phí để thực hiện công việc. Tôi luôn săn tìm chúng. Tốt hơn là các công cụ cầm tay + miễn phí !!!

Definitively SQL Studio là overkill cho những gì bạn muốn ... và một bloatware khổng lồ ... và chỉ cho MSSQL ... vì vậy tôi sẽ đề nghị ...

Query Express (http: // www. albahari.com/queryexpress.aspx) hoặc Query ExPlus (http://sourceforge.net/projects/queryexplus) ... cả công cụ Free/Excellent/Small/Fast/Portable từ Joseph Albahari ... Rất tiếc, tốt hơn, công trình này cũng với Oracle, ODBC và OLEDB ... Tuyệt vời !!!

Nếu bạn muốn tạo đoạn mã nhỏ trong (C#, F #, VB hoặc SQL) và thực thi chúng dựa trên cơ sở dữ liệu, đề xuất của tôi cũng là một công cụ miễn phí của Joseph Albahari có tên LINQPad (http://www.linqpad.net) /) ... Đó là một IDE nhỏ Excelente để thử nghiệm/tạo mẫu mã ... cảm ơn Joseph !!!

Nếu bạn muốn có một IDE "Hỗ trợ" như MSSQL Studio với một số tính năng nâng cao (miễn phí), tôi khuyên bạn nên sử dụng công cụ tuyệt vời ... SQL ... Bạn có một phiên bản cho MSSQL (http: //www.snapfiles.com/get/emsmssqllite.html) ... và phiên bản dành cho MySQL (http://www.snapfiles.com/get/emsmysqllite.html).

Addenda ... 2012.11.15, 17.54
Trước đây tôi đã quên đề cập đến DatabaseBrowser, một tiện ích miễn phí/nhỏ/nhanh/di động mà tôi cũng sử dụng theo thời gian, có thể chỉnh sửa Oracle, MSSQL, ODBC, MySql, OleDB, PostgreSQL, SQLite, Interbase và Firebird. Tôi sử dụng nó chủ yếu để chỉnh sửa Access/mdb, PostGRE, SQLite và Firebird. bạn có thể lấy phiên bản di động tại đây (http://www.etl-tools.com/database-editors/database-browser/overview.html)

Vui vẻ đầu tiên ... năng suất tiếp theo !!!

Zee

+0

Vì đó là một .mdf, tôi có thể chọn không cho SSMS. Khi ở Rome, và tất cả những điều đó. Nhưng cũng tốt khi biết về các lựa chọn thay thế. – MrBoJangles

+0

Vấn đề với SSMS là kích thước ... và có một phiên bản cho SQL 2005, 2008 và 2012. Trong phiên bản 2008, tôi đã thực sự phải vật lộn với những thứ để cài đặt SSMS, các cú đánh tại MS thực sự làm tốt công việc phức tạp quá trình cài đặt ... và nó chỉ dành cho MSSQL. Nhưng nó hoạt động ok, đôi khi tôi cũng sử dụng nó ... – ZEE

0

Nếu bạn không thể mở MDF n file .LDF qua SSMS và nhận lỗi

Sử dụng đoạn mã dưới đây trong một 'truy vấn mới' trong SSMS để tìm các dịch vụ sql chiếm

Code Snippet

khai báo @sqlser varchar (20)

EXEC master..xp_regread @ rootkey = 'HKEY_LOCAL_MACHINE', @ key = 'SYSTEM \ curre ntControlSet \ Services \ MSSQLSERVER',

@ value_name = 'ObjectName', @ value = @ sqlser OUTPUT

PRINT 'Tài Khoản Bắt đầu dịch vụ SQL Server:' + convert (varchar (30), @ sqlser)

Sau khi nhận được tài khoản dịch vụ hãy thử các bước dưới đây để cung cấp đặc quyền

nhấp chuột phải vào MDF/.LDF lưu trong hệ thống của bạn và bấm vào thuộc tính bấm vào tab an ninh bấm vào nút Add và thêm tài khoản dịch vụ sql Cung cấp đặc quyền sửa đổi và nhấp vào ok Xác cả MDF và LDF đã sửa đổi đặc quyền Gắn cơ sở dữ liệu ..

sau đó bạn có thể dễ dàng làm việc trên các bảng cơ sở dữ liệu .. Để chèn: INSERT INTO tên_bảng (column1, column2, cột3, ...) VALUES (value1, value2, value3, ...)

Để Xóa: DELETE FROM tên_bảng ĐÂU some_column = some_value

Thông báo mệnh đề WHERE trong cú pháp DELETE. Mệnh đề WHERE chỉ định bản ghi hoặc bản ghi nào sẽ bị xóa. Nếu bạn bỏ qua mệnh đề WHERE, tất cả hồ sơ sẽ bị xóa!

Để Cập nhật: CẬP NHẬT tên_bảng SET column1 = giá trị, column2 = value2, ... ĐÂU some_column = some_value

Chúc mừng SQLing !!! :)

Các vấn đề liên quan