Có cách nào tôi có thể nhận được một kịch bản của tất cả các bảng, procs và các đối tượng khác từ cơ sở dữ liệu không? Tôi biết có một tùy chọn để kịch bản cơ sở dữ liệu nhưng nó chỉ cho tôi một số loại kịch bản cấp cao nhất, chắc chắn không phải là một kịch bản để tạo ra tất cả các bảng, procs, udfs, .etc.Toàn bộ cơ sở dữ liệu Script SQL-Server
Trả lời
Từ Management Studio Nhấp chuột phải vào cơ sở dữ liệu của bạn. Công việc -> Tạo tập lệnh.
Điều đó sẽ thực hiện.
Một tùy chọn khác là sử dụng SQL SMO và viết kịch bản theo chương trình (tức là nếu kịch bản thông thường được yêu cầu) – RobS
Có cách nào để thiết lập tập lệnh để thực hiện việc này hay không, bất kể ai chạy nó? Tôi thấy trước mọi người trong nhóm dev của chúng tôi ghi đè tệp này với các cài đặt khác nhau mỗi lần ... –
@ Joe, tôi sẽ đi xuống tuyến đường mà RobS đang nói đến. Bạn sẽ có thể làm điều đó với PowerShell. Nếu không, hãy bắt đầu xem xét các công cụ RedGate hoặc Visual Studio Team Systems với Database Developer. –
Nếu bạn cần thực hiện theo chương trình, bạn có thể sử dụng thư viện SQL DMO (OLE) đối với SQL Server 2000, nhưng nhiều khả năng bạn muốn sử dụng thư viện SQL SMO (các thư viện bản địa .NET) so với SQL Server 2005 và một lát sau.
Cả hai thư viện này là không thể thiếu để cài đặt công cụ quản trị SQL Server.
Đây là trường hợp tạo tập lệnh cơ sở dữ liệu đầy đủ từ SQL Server Management Studio là không đủ.
Tôi khuyên bạn nên xem xét trình đóng gói RedGate SQL. Nó không phải là miễn phí, nhưng đã đủ hữu ích để có giá trị giá cả.
Tôi đã viết một tiện ích cho tác vụ này, SMOscript.
hệ Script được thực hiện bởi các thư viện SMO, và hỗ trợ các loại đối tượng mới trong SQL 2005 và 2008.
Hmm Tôi đã cài đặt ứng dụng Smo của bạn trên Vista 64-bit. Cài đặt thành công nhưng tôi không thấy một mục trong danh sách chương trình của tôi hoặc danh sách Tất cả chương trình – PositiveGuy
Đây là công cụ dòng lệnh – devio
Chúng tôi đã kết thúc bằng một sự kết hợp của SSMS hệ script để trích xuất giản đồ và dữ liệu, và sau đó sử dụng riêng của chúng tôi công cụ cơ sở dữ liệu cho phép phân tích cú pháp từ khóa và thay thế dựa trên mã thông báo trong tập lệnh. Nó cũng đảm bảo các tập lệnh chỉ được áp dụng một lần.
Tại sao?
- Chúng tôi cần hỗ trợ cài đặt trên SQL Server 2000, 2005 và 2008 và có những thay đổi đối với loại dữ liệu giữa các phiên bản, ví dụ: 2005+ có nvarchar (max), trong khi 2000 chỉ hỗ trợ ntext. Vì vậy, tập lệnh của chúng tôi sử dụng mã thông báo và dựa trên lựa chọn db thay thế bằng loại chính xác.
- Thực thi một số tập lệnh yêu cầu thời gian chờ sau khi thực thi, ví dụ: Chúng tôi thấy nếu bạn không đợi vài giây sau khi tạo cơ sở dữ liệu mới thông qua tập lệnh, đôi khi SQL Server có thể bị lỗi (vì không có thời gian để tạo tệp db) khi nó tiếp tục tạo bảng, v.v.
- Chúng tôi muốn duy trì lịch sử các tập lệnh nào đã được thực hiện và khi nào.
- Chúng tôi muốn cho phép trình cài đặt Wix MSI chỉ định chuỗi kết nối và thông tin đăng nhập, và cần một số cách để chuyển chúng vào tập lệnh, vì vậy một lần nữa, sử dụng mã thông báo và một số logic điều kiện.
Ví dụ kịch bản (sửa cho ngắn gọn)
-- Sleep: 5
-- Sleep after creating database to allow file system to create db files
CREATE DATABASE [$Database$]
GO
EXEC sp_dbcmptlevel [$Database$], $CompatabilityLevel$
GO
USE [$Database$]
GO
IF '1'!='$IntegratedSecurity$'
BEGIN
CREATE LOGIN [$Login$] WITH PASSWORD=N'$Password$', DEFAULT_DATABASE=[$Database$]
CREATE USER [$User$] FOR LOGIN [$Login$]
EXEC sp_addrolemember N'db_owner', N'$User$'
END
GO
tôi đã viết một tiện ích dòng lệnh mã nguồn mở có tên SchemaZen mà thực hiện điều này. Đó là nhanh hơn nhiều so với kịch bản từ studio quản lý và nó là đầu ra là phiên bản kiểm soát thân thiện hơn. Nó hỗ trợ kịch bản cả lược đồ và dữ liệu.
Để tạo ra các script chạy:
schemazen.exe script --server localhost --database db --scriptDir c:\somedir
Sau đó, để tái tạo lại cơ sở dữ liệu từ các kịch bản chạy:
schemazen.exe create --server localhost --database db --scriptDir c:\somedir
Xin chào, tôi muốn có được QUERY SQL từ cơ sở dữ liệu cục bộ của tôi được tạo trong studio trực quan, làm cách nào tôi có thể làm điều đó dụng cụ? Tôi phải sử dụng hướng tệp .sdf hoặc cách thực hiện? cảm ơn. –
Tệp SQL DataBase nhỏ gọn của nó. –
@ KarloA.López SQL Server Compact hiện không được hỗ trợ. Nó không phải là quá khó khăn để thêm hỗ trợ mặc dù vậy nếu bạn gửi một yêu cầu tính năng nó có thể được thực hiện khá nhanh chóng. Bạn có thể tạo yêu cầu tính năng tại đây https://github.com/sethreno/schemazen/issues/new –
Chỉ cần nhìn vào bảng dữ liệu, đầu ra tất cả các nội dung bảng dữ liệu trong Management Studio 2012 và 2014, có một chút ẩn nhưng tôi đã tìm thấy tùy chọn sau khi một số tìm kiếm:
- Nhấp chuột phải vào db
- Chọn 'Nhiệm vụ'> 'Tạo Script ...'
- On 'Đặt Tùy chọn Scripting', nhấp vào 'Advanced'
- Dưới 'General', thiết lập 'Các loại dữ liệu để kịch bản' true (nó là ở cuối nhóm 'Chung')
- 1. Cách lấy tên Cơ sở dữ liệu của sqlserver
- 2. Đặt cơ sở dữ liệu hiện tại trong MySQL Script
- 3. Sao chép toàn bộ nội dung cơ sở dữ liệu (lược đồ và dữ liệu)
- 4. Làm cách nào để sao chép bản ghi dữ liệu giữa hai bản sao của cơ sở dữ liệu SQLServer
- 5. Mẫu nhà máy cơ sở dữ liệu với nhiều cơ sở dữ liệu
- 6. Lỗi khi kéo cơ sở dữ liệu mysql trong cơ sở dữ liệu mysql cục bộ
- 7. Không thể kết nối với cơ sở dữ liệu bằng localhost \ sqlserver
- 8. Buộc toàn bộ cơ sở dữ liệu MySQL được trong bộ nhớ
- 9. Cơ sở dữ liệu sqlite3 chỉ đọc an toàn
- 10. Cách tốt nhất để sao chép toàn bộ cơ sở dữ liệu trong MS SQL Server?
- 11. Biến toàn cục - kết nối cơ sở dữ liệu?
- 12. Cách kiểm tra kết nối SqlServer mà không cần mở cơ sở dữ liệu
- 13. Cách dễ nhất để xuất cơ sở dữ liệu SQLServer 2000 sang XML là gì?
- 14. Không thể kết nối với cơ sở dữ liệu SQLServer trong ứng dụng Java
- 15. Cơ sở dữ liệu SQL hoàn toàn trống
- 16. Đồng thời cơ sở dữ liệu an toàn trong ROR
- 17. Xử lý toàn vẹn cơ sở dữ liệu
- 18. Là chủ đề cơ sở dữ liệu Sqlite an toàn
- 19. Chuyển dữ liệu từ cơ sở dữ liệu này sang cơ sở dữ liệu khác
- 20. Tìm kiếm cơ sở dữ liệu cục bộ cho D2009 +
- 21. Mã hóa cơ sở dữ liệu MongoDB
- 22. MySQL external_key_checks có ảnh hưởng đến toàn bộ cơ sở dữ liệu không?
- 23. Toàn bộ cơ sở dữ liệu được sửa đổi ở đâu?
- 24. Cần tải toàn bộ cơ sở dữ liệu postgreSQL vào RAM
- 25. Chèn toàn bộ DataTable vào cơ sở dữ liệu cùng một lúc thay vì từng hàng?
- 26. Tải xuống toàn bộ cơ sở dữ liệu SQL Azure dưới dạng tệp đơn
- 27. Đề xuất cho cơ sở dữ liệu trong bộ nhớ so với cấu trúc dữ liệu an toàn của luồng
- 28. Mẫu thiết kế dữ liệu/cơ sở dữ liệu?
- 29. Một cơ sở dữ liệu người dùng phục vụ nhiều cơ sở dữ liệu ứng dụng
- 30. cơ sở dữ liệu node.js
Phiên bản SQL Server nào? – MyItchyChin
Ông đã gắn thẻ nó SQL Server 2008, vì vậy tôi cho rằng đó là những gì anh ấy đang sử dụng. –
Không phải là giả sử này để đi đến serverfault.com? – Salamander2007