microsoft / microsoft/sqlmanagementobjects
[Bug]: Script as Create does not provide valid script
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- C#
- Star
- 143
- Fork
- 28
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
Description
I cannot use Script as Create for tables in Azure SQL Database, as if I do I get errors as seen in the screenshot below.
Here is the original script:
CREATE TABLE transporter.CompanyProfile (
CompanyProfileId int NOT NULL CONSTRAINT PK_transporter_CompanyProfile PRIMARY KEY IDENTITY(1,1),
CompanyId int NOT NULL,
CONSTRAINT FK_CompanyProfile_CompanyId
FOREIGN KEY (CompanyId) REFERENCES transporter.Company(CompanyId),
ProfileId int NOT NULL,
CONSTRAINT FK_CompanyProfile_ProfileId
FOREIGN KEY (ProfileId) REFERENCES auth.Profile(ProfileId),
Active bit NOT NULL,
UpdatedDate DATETIME2 NOT NULL,
UpdatedBy int NOT NULL,
CONSTRAINT FK_CompanyProfile_UpdatedBy
FOREIGN KEY (UpdatedBy) REFERENCES auth.Profile(ProfileId),
ValidFrom DATETIME2 GENERATED ALWAYS AS ROW START NOT NULL,
ValidTo DATETIME2 GENERATED ALWAYS AS ROW END NOT NULL,
PERIOD FOR SYSTEM_TIME (ValidFrom, ValidTo)
)
WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = transporter.CompanyProfileHistory));
Here is the script generated using Script as Create:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [transporter].[CompanyProfile](
[CompanyProfileId] [int] IDENTITY(1,1) NOT NULL,
[CompanyId] [int] NOT NULL,
[ProfileId] [int] NOT NULL,
[Active] [bit] NOT NULL,
[UpdatedDate] [datetime2](7) NOT NULL,
[UpdatedBy] [int] NOT NULL,
[ValidFrom] [datetime2](7) GENERATED ALWAYS AS ROW START NOT NULL,
[ValidTo] [datetime2](7) GENERATED ALWAYS AS ROW END NOT NULL,
PERIOD FOR SYSTEM_TIME ([ValidFrom], [ValidTo])
) ON [PRIMARY]
WITH
(
SYSTEM_VERSIONING = ON (HISTORY_TABLE = [transporter].[CompanyProfileHistory])
)
GO
ALTER TABLE [transporter].[CompanyProfile] ADD CONSTRAINT [PK_transporter_CompanyProfile] PRIMARY KEY CLUSTERED
(
[CompanyProfileId] ASC
)WITH (STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
GO
ALTER TABLE [transporter].[CompanyProfile] WITH CHECK ADD CONSTRAINT [FK_CompanyProfile_CompanyId] FOREIGN KEY([CompanyId])
REFERENCES [transporter].[Company] ([CompanyId])
GO
ALTER TABLE [transporter].[CompanyProfile] CHECK CONSTRAINT [FK_CompanyProfile_CompanyId]
GO
ALTER TABLE [transporter].[CompanyProfile] WITH CHECK ADD CONSTRAINT [FK_CompanyProfile_ProfileId] FOREIGN KEY([ProfileId])
REFERENCES [auth].[Profile] ([ProfileId])
GO
ALTER TABLE [transporter].[CompanyProfile] CHECK CONSTRAINT [FK_CompanyProfile_ProfileId]
GO
ALTER TABLE [transporter].[CompanyProfile] WITH CHECK ADD CONSTRAINT [FK_CompanyProfile_UpdatedBy] FOREIGN KEY([UpdatedBy])
REFERENCES [auth].[Profile] ([ProfileId])
GO
ALTER TABLE [transporter].[CompanyProfile] CHECK CONSTRAINT [FK_CompanyProfile_UpdatedBy]
GO
Here are the errors when I run the generated script:
Steps to Reproduce
Scripts are provided above.
Affected Area
- Connection dialog (SQL Server | Azure browse/Fabric browse)
- Query results panel
- Query editor
- Object Explorer
- Table Designer
- Schema Compare
- Schema Designer
- Local SQL Server Container provisioning
- SQL database in Fabric provisioning
- GitHub Copilot integration
- Query Plan Visualizer
- Other (please describe below)
If you selected "Other", please describe the affected area
Generated Scripts
Environment Information
Visual Studio Code: Version 1.104.1 (Universal)
Extension SQL Server (mssql): v1.36.0
MacOS 15.6.1
Azure SQL
Confirmation
- I have searched existing issues and couldn't find a match
- I want to work on this issue
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Sử dụng các script CREATE TABLE gốc và được tạo trong báo cáo làm bản tái hiện, bắt đầu với đường dẫn tạo Script as Create cho các bảng temporal của Azure SQL. So sánh đầu ra được tạo với nguồn, sau đó xác minh rằng script đã sửa thực thi thành công trong khi vẫn giữ lại các ràng buộc khóa chính và khóa ngoại.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- azure, csharp, sql
- Lĩnh vực
- database, tooling
- Loại issue
- Lỗi
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 35/100