Wie Sie alle erweiterten Eigenschaften auf SQL Server auf eine skriptfähige Weise löschen?Löschen Sie alle erweiterten Eigenschaften auf SQL Server
Antwort
sehen Sie bitte die folgende URL, um die erweiterte Eigenschaft löschen:
Verwendung dieses Skript
EXEC sys.sp_dropextendedproperty
@name =N'MS_Description',
@level0type = N'SCHEMA',
@level0name = N'dbo',
@level1type = N'TABLE',
@level1name = N'ActivityEventRecipient';
GO
Quelle: drop extended property
Wenn Sie ein Skript wollen, dass alle sinkt erweiterte Eigenschaften auf einmal verwenden Sie dann ein Skript, das Jamie Thomson erstellt hat, das Tropfen für alle erweiterten Eigenschaften erzeugt. Sie können es von dieser article herunterladen.
Ich habe das Drehbuch hier eingefügt (in voller Höhe mit Bestätigungen im Fall der Artikel entfernt wird):
/*
This script will generate calls to sp_dropextendedproperty for every
extended property that exists in your database.
Actually, a caveat: I don't promise that it will catch each and every
extended property that exists, but I'm confident it will catch most of them!
It is based on this:
http://blog.hongens.nl/2010/02/25/drop-all-extended-properties-in-a-mssql-database/
by Angelo Hongens.
Also had lots of help from this:
http://www.sqlservercentral.com/articles/Metadata/72609/
by Adam Aspin
Adam actually provides a script at that link to do something very similar
but when I ran it I got an error:
Msg 468, Level 16, State 9, Line 78
Cannot resolve the collation conflict between "Latin1_General_100_CS_AS" and "Latin1_General_CI_AS" in the equal to operation.
So I put together this version instead.
Use at your own risk.
Jamie Thomson
2012-03-25
*/
/*Are there any extended properties? Let's take a look*/
select *,OBJECT_NAME(major_id) from sys.extended_properties xp
/*Now let's generate sp_dropextendedproperty statements for all of them.*/
--tables
set nocount on;
select 'EXEC sp_dropextendedproperty
@name = '''+xp.name+'''
,@level0type = ''schema''
,@level0name = ''' + object_schema_name(xp.major_id) + '''
,@level1type = ''table''
,@level1name = ''' + object_name(xp.major_id) + ''''
from sys.extended_properties xp
join sys.tables t on xp.major_id = t.object_id
where xp.class_desc = 'OBJECT_OR_COLUMN'
and xp.minor_id = 0
union
--columns
select 'EXEC sp_dropextendedproperty
@name = '''+sys.extended_properties.name+'''
,@level0type = ''schema''
,@level0name = ''' + object_schema_name(extended_properties.major_id) + '''
,@level1type = ''table''
,@level1name = ''' + object_name(extended_properties.major_id) + '''
,@level2type = ''column''
,@level2name = ''' + columns.name + ''''
from sys.extended_properties
join sys.columns
on columns.object_id = extended_properties.major_id
and columns.column_id = extended_properties.minor_id
where extended_properties.class_desc = 'OBJECT_OR_COLUMN'
and extended_properties.minor_id > 0
union
--check constraints
select 'EXEC sp_dropextendedproperty
@name = '''+xp.name+'''
,@level0type = ''schema''
,@level0name = ''' + object_schema_name(xp.major_id) + '''
,@level1type = ''table''
,@level1name = ''' + object_name(cc.parent_object_id) + '''
,@level2type = ''constraint''
,@level2name = ''' + cc.name + ''''
from sys.extended_properties xp
join sys.check_constraints cc on xp.major_id = cc.object_id
union
--check constraints
select 'EXEC sp_dropextendedproperty
@name = '''+xp.name+'''
,@level0type = ''schema''
,@level0name = ''' + object_schema_name(xp.major_id) + '''
,@level1type = ''table''
,@level1name = ''' + object_name(cc.parent_object_id) + '''
,@level2type = ''constraint''
,@level2name = ''' + cc.name + ''''
from sys.extended_properties xp
join sys.default_constraints cc on xp.major_id = cc.object_id
union
--views
select 'EXEC sp_dropextendedproperty
@name = '''+xp.name+'''
,@level0type = ''schema''
,@level0name = ''' + object_schema_name(xp.major_id) + '''
,@level1type = ''view''
,@level1name = ''' + object_name(xp.major_id) + ''''
from sys.extended_properties xp
join sys.views t on xp.major_id = t.object_id
where xp.class_desc = 'OBJECT_OR_COLUMN'
and xp.minor_id = 0
union
--sprocs
select 'EXEC sp_dropextendedproperty
@name = '''+xp.name+'''
,@level0type = ''schema''
,@level0name = ''' + object_schema_name(xp.major_id) + '''
,@level1type = ''procedure''
,@level1name = ''' + object_name(xp.major_id) + ''''
from sys.extended_properties xp
join sys.procedures t on xp.major_id = t.object_id
where xp.class_desc = 'OBJECT_OR_COLUMN'
and xp.minor_id = 0
union
--FKs
select 'EXEC sp_dropextendedproperty
@name = '''+xp.name+'''
,@level0type = ''schema''
,@level0name = ''' + object_schema_name(xp.major_id) + '''
,@level1type = ''table''
,@level1name = ''' + object_name(cc.parent_object_id) + '''
,@level2type = ''constraint''
,@level2name = ''' + cc.name + ''''
from sys.extended_properties xp
join sys.foreign_keys cc on xp.major_id = cc.object_id
union
--PKs
SELECT
'EXEC sys.sp_dropextendedproperty @level0type = N''SCHEMA'', @level0name = [' + SCH.name + '], @level1type = ''TABLE'', @level1name = [' + TBL.name + '] , @level2type = ''CONSTRAINT'', @level2name = [' + SKC.name + '] ,@name = ''' + REPLACE(CAST(SEP.name AS NVARCHAR(300)),'''','''''') + ''''
FROM sys.tables TBL
INNER JOIN sys.schemas SCH
ON TBL.schema_id = SCH.schema_id
INNER JOIN sys.extended_properties SEP
INNER JOIN sys.key_constraints SKC
ON SEP.major_id = SKC.object_id
ON TBL.object_id = SKC.parent_object_id
WHERE SKC.type_desc = N'PRIMARY_KEY_CONSTRAINT'
union
--Table triggers
SELECT
'EXEC sys.sp_dropextendedproperty @level0type = N''SCHEMA'', @level0name = [' + SCH.name + '], @level1type = ''TABLE'', @level1name = [' + TBL.name + '] , @level2type = ''TRIGGER'', @level2name = [' + TRG.name + '] ,@name = ''' + REPLACE(CAST(SEP.name AS NVARCHAR(300)),'''','''''') + ''''
FROM sys.tables TBL
INNER JOIN sys.triggers TRG
ON TBL.object_id = TRG.parent_id
INNER JOIN sys.extended_properties SEP
ON TRG.object_id = SEP.major_id
INNER JOIN sys.schemas SCH
ON TBL.schema_id = SCH.schema_id
union
--UDF params
SELECT
'EXEC sys.sp_dropextendedproperty @level0type = N''SCHEMA'', @level0name = [' + SCH.name + '], @level1type = ''FUNCTION'', @level1name = [' + OBJ.name + '] , @level2type = ''PARAMETER'', @level2name = [' + PRM.name + '] ,@name = ''' + REPLACE(CAST(SEP.name AS NVARCHAR(300)),'''','''''') + ''''
FROM sys.extended_properties SEP
INNER JOIN sys.objects OBJ
ON SEP.major_id = OBJ.object_id
INNER JOIN sys.schemas SCH
ON OBJ.schema_id = SCH.schema_id
INNER JOIN sys.parameters PRM
ON SEP.major_id = PRM.object_id
AND SEP.minor_id = PRM.parameter_id
WHERE SEP.class_desc = N'PARAMETER'
AND OBJ.type IN ('FN', 'IF', 'TF')
union
--sp params
SELECT
'EXEC sys.sp_dropextendedproperty @level0type = N''SCHEMA'', @level0name = [' + SCH.name + '], @level1type = ''PROCEDURE'', @level1name = [' + SPR.name + '] , @level2type = ''PARAMETER'', @level2name = [' + PRM.name + '] ,@name = ''' + REPLACE(CAST(SEP.name AS NVARCHAR(300)),'''','''''') + ''''
FROM sys.extended_properties SEP
INNER JOIN sys.procedures SPR
ON SEP.major_id = SPR.object_id
INNER JOIN sys.schemas SCH
ON SPR.schema_id = SCH.schema_id
INNER JOIN sys.parameters PRM
ON SEP.major_id = PRM.object_id
AND SEP.minor_id = PRM.parameter_id
WHERE SEP.class_desc = N'PARAMETER'
union
--DB
SELECT
'EXEC sys.sp_dropextendedproperty @name = ''' + REPLACE(CAST(SEP.name AS NVARCHAR(300)),'''','''''') + ''''
FROM sys.extended_properties SEP
WHERE class_desc = N'DATABASE'
union
--schema
SELECT
'EXEC sys.sp_dropextendedproperty @level0type = N''SCHEMA'', @level0name = [' + SCH.name + '] ,@name = ''' + REPLACE(CAST(SEP.name AS NVARCHAR(300)),'''','''''') + ''''
FROM sys.extended_properties SEP
INNER JOIN sys.schemas SCH
ON SEP.major_id = SCH.schema_id
WHERE SEP.class_desc = N'SCHEMA'
union
--DATABASE_FILE
SELECT
'EXEC sys.sp_dropextendedproperty @level0type = N''FILEGROUP'', @level0name = [' + DSP.name + '], @level1type = ''LOGICAL FILE NAME'', @level1name = ' + DBF.name + ' ,@name = ''' + REPLACE(CAST(SEP.name AS NVARCHAR(300)),'''','''''') + ''''
FROM sys.extended_properties SEP
INNER JOIN sys.database_files DBF
ON SEP.major_id = DBF.file_id
INNER JOIN sys.data_spaces DSP
ON DBF.data_space_id = DSP.data_space_id
WHERE SEP.class_desc = N'DATABASE_FILE'
union
--filegroup
SELECT
'EXEC sys.sp_dropextendedproperty @level0type = N''FILEGROUP'', @level0name = [' + DSP.name + '] ,@name = ''' + REPLACE(CAST(SEP.name AS NVARCHAR(300)),'''','''''') + ''''
FROM sys.extended_properties SEP
INNER JOIN sys.data_spaces DSP
ON SEP.major_id = DSP.data_space_id
WHERE DSP.type_desc = 'ROWS_FILEGROUP'
union
-- INDEX
select 'EXEC sp_dropextendedproperty
@name = '''+sys.extended_properties.name+'''
,@level0type = ''schema''
,@level0name = ''' + object_schema_name(extended_properties.major_id) + '''
,@level1type = ''table''
,@level1name = ''' + object_name(extended_properties.major_id) + '''
,@level2type = ''index''
,@level2name = ''' + indexes.name + ''''
from sys.extended_properties
join sys.indexes
on indexes.object_id = extended_properties.major_id
and indexes.index_id = extended_properties.minor_id
where extended_properties.class_desc = 'INDEX'
and extended_properties.minor_id > 0
Ich habe dies zu arbeiten, aber musste a) löschen Datenbank-Diagramme aus der Datenbank, und b) das Skript geht davon aus, dass alle Spalten Eigenschaften auf Tabellen sind, hatte ich einige auf Ansichten zu müssen, um das Skript zu ändern. –
es funktioniert, aber nur eine Notiz, wird es versuchen, erweiterte Eigenschaften von einigen System SP zu entfernen, so überprüfen Sie einige Befehle am Anfang, dann führen Sie das Skript aus. – ashubuntu
Ich habe versucht, die Skripte laufen und nichts schien für mich zu arbeiten. Ich fand aber, dass ich, indem Sie auf meine Tabellen/Ansichten in Object Explorer
und tun, um im Anschluss an die erweiterten Eigenschaften löschen könnte:
- Rechtsklick auf Tabelle/Blick in Objekt-Explorer, wählen Sie Eigenschaften
- Wählen Sie Erweiterte Eigenschaften aus Wählen Sie die Scheibe auf der linken Seite
- die erweiterten Eigenschaften und klicken Sie auf löschen in der rechten unteren Ecke des Fensters
- 1. Optimierung Löschen auf SQL Server
- 2. Löschen Sie alle gespeicherten Prozeduren auf einmal
- 3. Wie eine Liste aller erweiterten Eigenschaften für alle Objekte bekommen
- 4. SQL Server-Datenbank löschen
- 5. SQL: Löschen Sie alle verschachtelten Selbstreferenzierung Datensätze
- 6. Erhalten Sie alle erweiterten Klassen in PHP
- 7. Zugriff auf erweiterten Eigenschaften eines List-Klasse von JavaScript
- 8. Exchange Webservice Managed API - Suchen Sie Elemente nach erweiterten Eigenschaften
- 9. Löschen einer Sammlung von Sammlungen - Löschen Sie alle Elemente zuerst oder löschen Sie alle auf einmal?
- 10. Verknüpfen Sie mehrere Eigenschaften in der erweiterten Suche in Alfresco
- 11. Capture übergebene Parameterwerte in erweiterten SQL Server-Sitzungen?
- 12. SQL Server-Replikation ohne Löschen?
- 13. SQL Server xml.modify Methode löschen
- 14. Löschen von SQL-Server-Datenbank
- 15. löschen alle bis auf minimale Werte, basierend auf zwei Spalten in SQL Server-Tabelle
- 16. Löschen Sie alle zugehörigen Datensätze
- 17. schnellste Weg MongoDB-Server/Löschen Sie alle Datenbanken zurücksetzen
- 18. SQL Server von Indizes verlangsamt drastisch löschen
- 19. SQL Server 2005 Backup-Datei löschen
- 20. SQL Server 2008: doppelte Zeilen löschen
- 21. SQL: Löschen Sie alle Daten aus allen verfügbaren Tabellen
- 22. So löschen Sie Datensätze aus einer SQL Server-Datenbank
- 23. Suchen und löschen Sie alle Datensätze mit einer bestimmten Zeichenfolge in einer SQL Server-Datenbank
- 24. SQL Server - T-SQL UNION ALLE + PIVOT
- 25. JQ löschen mehrere Eigenschaften
- 26. SQL Server: EINFÜGEN, AKTUALISIEREN, LÖSCHEN, ERSTELLEN Timeouts
- 27. So löschen Sie Verbindungen in Sql Server 2005
- 28. SQL Server 2005 Wie löschen Sie einen Abfrageausführungsplan
- 29. Löschen Sie "doppelte" Zeilen in SQL Server 2010
- 30. DB-Mail-Warteschlange in SQL-Server löschen
bitte eine Antwort markieren als angenommen/korrigieren. Mindestens 2 sind richtig. –