SMO 172.52.0, skips generation of "hidden" tables.
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 42/100
Rechercherichtung
Beginne damit, das Problem mit den gezeigten CREATE TABLE- und Extended-Property-Anweisungen zu reproduzieren, und script dann die gesamte Datenbank sowie die Tabelle über die SMO API, wobei die Tabelle ausgewählt ist. Verfolge den Scripting-Pfad für die Behandlung ausgeblendeter oder Systemtabellen und überprüfe, dass die Tabelle vor ihrer Extended Property ausgegeben wird; abgeschlossen ist die Aufgabe, wenn beide Skripte [dbo].[sysblah] erfolgreich erstellen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
If you create a table with this:
CREATE TABLE [dbo].[sysblah](
[name] [sysname] NOT NULL,
[principal_id] [int] NOT NULL,
[diagram_id] [int] IDENTITY(1,1) NOT NULL,
[version] [int] NULL,
[definition] [varbinary](max) NULL
)
And then create the extended-property to "hide" it, by making it look like a system-table:
EXEC sys.sp_addextendedproperty @name=N'microsoft_database_tools_support', @value=1 , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'sysblah'
If you then use MSDE (or SMO via API), if you script the entire database (i.e. all objects) . . .
Then . . . you'll notice that the resultant script doesn't contain [dbo].[sysblah].
This seems like a bug. The intent is just to hide the table, not treat it as as "system table".
Weirdly, I've just SMO via C#, and even though you include the table in SelectedObjects, it (i) will NOT create the table but (ii) attempts to create the extended-property, which immediately fails because the table does not exist.
Thanks!
Sean
- Vorherrschende Sprache
- C#
- Sterne
- 143
- Forks
- 28
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
Die Einrichtungsdateien dieses Projekts haben wir noch nicht geprüft. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus microsoft/sqlmanagementobjects
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 72/100
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 74/100
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 78/100
Alle Issues in microsoft/sqlmanagementobjects
Ähnliche Issues
-
copilot documentation
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
Maintainer antworten meist innerhalb von 2 Tagen
-
needs triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
spectreconsole/spectre.console#2221 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
godotengine/godot-docs#12428 ·
Maintainer antworten meist innerhalb von 1 Tag
-
.NET triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 73/100
microsoft/semantic-kernel#14526 ·
Maintainer antworten meist innerhalb von 4 Tagen